测试开发和自动化测试
尽管方法(测试优先或测试后)在投资时间效率和测试结果质量方面起着主要作用,但在本文中,我想强调一下自动化测试策略引入的一些立即可见的改进关于发展速度。
功能验证
在开发过程中,您不断地粗略地验证所实现的代码是否按预期工作。 考虑到Web应用程序环境,这意味着要在浏览器中启动应用程序并检查是否一切正常。 这需要付出很大的努力 ,您需要打开浏览器,在UI中单击以到达您实现的功能生效的位置,然后验证相应的输出。 如果还不行,则需要重复该循环。 这需要时间!
相反,使用测试驱动的方法,您将
- 编写一个小型测试,实例化您的对象,调用(例如)您在其上编写的方法并声明相应的结果。
- 检查无论您的xUnit框架是什么,条/点是绿色还是红色
- 如果是红色,请更改您的实现,重新运行笔试等。
每当您想在打印语句或调试器表达式中键入内容时,请将其编写为测试。
马丁·福勒
回归测试
少虫?
这实际上取决于测试的质量和总体测试范围。 有很多论文分析这种关系。 根据我的经验,我可以说这肯定具有积极作用。 我所看到的是错误的类型在改变。 您将遇到较少的源代码缺陷(即缺少空引用检查)。 通常只剩下一些小错误,这些小错误很快就会修复,而这些小错误是由于客户和开发人员之间的误解而产生的。
不足之处…
与每件事一样,也有缺点。 通常的经验法则是“编写的代码越少,维护的次数就越少”。 测试可以在产品维护阶段为您提供帮助,同时还可以修复错误或扩展新功能,因为它们可以为您提供一个安全网,以确保您不会破坏任何现有产品。 但另一方面,编写测试意味着编写也需要 维护的 其他代码 !
因此, 需要学习编写好的,可维护的测试,并且不应低估学习曲线。
因此,尝试一下单元测试,不要立即放弃。 最初的学习阶段将非常艰巨,但是一旦掌握了它,就不能再没有它们了;)。
参考: 为什么自动化测试可以帮助我们的JCG合作伙伴Juri Strumpflohner 加快您的开发速度 。
相关文章:
翻译自: https://www.javacodegeeks.com/2011/04/automated-tests-boost-development-speed.html
测试开发和自动化测试