依赖按顺序运行的自动化测试是不是被认为是不好的做法?
Posted
技术标签:
【中文标题】依赖按顺序运行的自动化测试是不是被认为是不好的做法?【英文标题】:Can it be considered bad practice to rely on automated tests running in order?依赖按顺序运行的自动化测试是否被认为是不好的做法? 【发布时间】:2016-10-31 19:48:55 【问题描述】:特别是在我的验收测试套件中,我看到很多测试设计为按特定顺序(从上到下)运行,这在某些方面对于测试特定流程很有意义,但我也听说这是不好的做法。谁能解释一下这里的优缺点?
【问题讨论】:
【参考方案1】:在大多数情况下,如果您依赖订单,就会出现问题。最好解决这个问题,因为:
测试应该是独立的,以便能够单独运行(您应该能够只运行 1 个测试)。 测试运行工具通常不能保证顺序。即使今天它是一个特定的序列,明天你可以为运行器添加一些配置,并且顺序会改变。 很难从测试报告中确定出了什么问题,因为您看到很多失败,而只有 1 个测试失败。 再说一遍 - 从测试报告工具中跟踪测试的步骤并不容易,因为这些步骤被分配给不同的测试。 如果需要,您将无法并行运行它们(希望您不需要)。如果您想共享逻辑 - 创建可重用的类或方法(请参阅this)。
PS:我将这些称为系统测试,而不是验收测试 - 您也可以在单元或组件级别编写验收测试。
【讨论】:
以上是关于依赖按顺序运行的自动化测试是不是被认为是不好的做法?的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 的 AsyncTask 期间更改活动是不是被认为是不好的做法?