在 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 测试位于测试金字塔的顶端,您可以很好地计算出不进行冗余测试的成本、时间和工作量。
我有两个 运行 带有浏览器自动化的 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 测试位于测试金字塔的顶端,您可以很好地计算出不进行冗余测试的成本、时间和工作量。