我有两个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
。因此编写一个接受ABC的e2e测试和一次ABCD测试是多余的!
我的问题是:在e2e测试中避免冗余的最佳做法是什么?我想到的一件事就是编写ABCD,并在assert
步骤之后加入C
。虽然这意味着如果我们在C
失败,我们就没有D
可能有效的信息。
答案 0 :(得分:1)
答案就在你的问题中。
从用户流程中思考。您知道ABCD是一个逻辑块,如果不执行步骤C就无法执行步骤D.
因此,从e2e自动化的角度来看,我会以一种可以在一个流程中模仿最终用户操作的方式来处理它。具有预期后步骤C是有意义的,如果有失败,不执行步骤D绝对正确,测试结果应该说明相同。
此外,由于e2e测试位于测试金字塔的顶部,因此您可以很好地计算出没有冗余测试的成本,时间和工作量。