在 e2e 浏览器自动化测试中避免故事重复

Avoiding duplication of stories in e2e browser automation testing

我有两个 运行 带有浏览器自动化的 e2e 测试,用于测试以下用户故事:

C: As a manager, I can add a member to my team.

D: As a manager, I can pay a member of my team.

问题是,为了做到 D,我必须先做到 C。所以写一个 E2E 测试去 ABC 一次去 ABCD 是多余的!

我的问题是:在端到端测试中避免冗余的最佳实践有哪些?我想到的一件事是只写 ABCD,并在 C 步骤之后包含一个 assert。虽然这意味着如果我们在 C 处失败,我们不知道 D 是否有效。

答案就在你的问题中。
从用户流中考虑。您知道 ABCD 是一个逻辑块,如果不执行步骤 C 就无法执行步骤 D。
因此,从端到端自动化的角度来看,我会以一种可以在一个流程中模拟最终用户操作的方式来处理它。
有期望 post 步骤 C 是有道理的,如果出现故障,不执行步骤 D 是绝对正确的,测试结果应该也是如此。

此外,由于 e2e 测试位于测试金字塔的顶端,您可以很好地计算出不进行冗余测试的成本、时间和工作量。