删除并组合回归测试以加快测试速度是否是错误的做法?

如何解决删除并组合回归测试以加快测试速度是否是错误的做法?

| 我正在开发一个与第三方网络服务集成的应用程序。我目前有单独的集成/回归测试,调用该Web服务执行以下操作: 修改政策-添加车辆 修改政策-移除车辆 修改政策-添加多辆车 修改保单-添加被保险人 ... 这些测试大多数是在发现并修复错误后创建的。第三方Web服务不完善,我正在尝试加快测试过程。因为每个测试都调用Web服务,所以将它们组合成一个调用Web服务一次的测试将使事情变得更快。 合并这些测试是否会成为不好的习惯,因为每个测试都是针对特定错误编写的?我担心的是重构中的错误可能会导致以后重新引入错误。     

解决方法

是的,将它们结合起来将是一个坏习惯。而是考虑如何在不结合测试的情况下降低风险。一种方法(可能是您最好的选择)是模拟Web服务,以便测试速度更快,而不会损害其检测回归的能力。另一个方法是将缓慢的回归测试分成自己的套件,该套件的运行频率比通常的测试组要低(但仍然足够频繁!)。最后,您可以将它们组合在一起-但我建议将所有原始错误明确地重新引入代码中,以验证组合测试仍然可以检测到它们。 具体的,针对性的,直接的单元测试非常有价值;很高兴确切地知道发生了什么。组合测试会损害该价值。     ,我不建议您将它们组合在一起,除非您保持单独运行它们的能力(也许在您的通宵构建中将它们分开,然后在连续构建中将它们合并)。 如果您的测试框架支持,请尝试并行化它们(在单独的\'policies \'上)。     ,我建议将它们包括在您的每晚构建中,以便它们在您睡着而不看钟的时候每天运行一次。并且仅删除它们即可进行开发人员时间测试。 当然,假设他们还不满意,那么一晚还不够。 仅仅将您的测试合并为一个大测试可能会使它们变得毫无用处或变得更糟。那并不比删除它们好多少。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?