android - 使用顺序测试用例的最佳实践是什么?

标签 android testing automation

我知道,在测试自动化中,我们必须 avoid sequential test-cases .因此,运行测试用例的顺序并不重要。

我相信在某些情况下顺序测试用例是不可避免的:

1.考虑一个场景,用户需要采取一些先前的步骤才能完成最终目标。例如,用户需要登录才能购买。

   Given User is logged in
   When  User adds an item into its basket
   And   User Complete his purchase
   Then  He receives an Email

因此,在上述场景中,每个部分(GivenWhenAndThen)都是单独的测试用例。但测试用例的顺序仍然很重要。

2.此外,Junit 团队提供了一种名为@FixMethodOrder(MethodSorters.NAME_ASCENDING) 的方法,但我不确定何时允许我们使用它?

那么,如何在端到端测试中编写独立的测试用例?

最佳答案

测试应该是原子的,因为它们不应该依赖于先前测试生成的状态。这就是为什么应该避免顺序测试用例的原因。如果序列的任何部分失败,则其余测试也会失败,因此将它们分开真的没有多大意义(它们可能只是一个测试)。

如果您的测试需要先决条件,您可以将它们包含在:1) 所有测试之前,2) 测试套件开始时,3) 在您的特定测试之前,4) 在您的特定测试中。无论何时何地完成此操作,重要的是您假设生成该状态 所需的一切都按预期工作,因此您只需专注于您正在测试的内容。

现在,如果您想测试系统的完整流程,我建议您将其放入一个单独的测试中。如果有变化,那么您将进行多次测试。

比方说你想测试D,但是D需要C,然后C需要B,最后B需要A;一种策略是生成一个测试,您将在其中执行 A->B->C->D。另一种策略是生成多个测试,在其中测试各个步骤:测试 1 执行 A;测试 2 执行 A->B(但不关心 A 是否正常);测试 3 执行 A->B->C(但不关心 A 和 B 是否正常);等等。使用哪种策略取决于您的目标和场景的大小。我个人更喜欢第二种选择大的东西,第一种选择简单/短的东西。

关于android - 使用顺序测试用例的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54892011/

相关文章:

c# - 使用 Moq 验证使用不同状态的对象的方法调用

excel - 如何以编程方式生成申请表/文件?

google-cloud-platform - 无法通过 Terraform 使用 GCP Cloud Build 验证 GitHub 存储库

automation - Vividus 工具不会在大小超过 4Gb 的项目中启动测试(需要 zip64 扩展)

android - 如何在android中捕获设备后退按钮事件?

android - Android 中从左到右的无缝 Activity 过渡动画

java - Android postDelayed Handler 在 For 循环中?

angular - 测试 Angular 组件的问题

testing - WebServiceSampler : error in Jmeter

java - 如何卡住 SurfaceView 中动画的最后一帧?