如果您已经进行功能测试,是否需要进行单元和集成测试?

dan*_*ain 4 testing integration-testing scrum unit-testing functional-testing

我公司的人员认为单元测试是一项额外的工作,与现有的功能测试相比,它的优势更少.单元和集成测试值得吗?请注意,未考虑测试而设计的大型现有代码库.

Aar*_*lla 12

大多数人都不知道自动化单元测试的用途:

  1. 试验一项新技术
  2. 记录如何使用部分代码
  3. 确保死虫死亡
  4. 允许您重构代码
  5. 允许您更改代码的任何主要部分
  6. 创建一个较低的水印,低于该水印,您的产品质量不可能下降
  7. 提高开发速度因为现在,你知道有些东西可以工作(而不是希望它能在客户报告错误之前完成).

因此,如果这些原因中的任何一个为您带来好处,那么自动化单元测试就适合您.如果没有,那就不要浪费你的时间.


Jon*_*eet 9

(我假设您正在使用"功能测试"来表示涉及整个系统或应用程序正在运行的测试.)

我会在编写单元时对其进行单元测试,原因有三:

  • 它可以帮助我更快地使用代码.的周转时间"单元测试失败,固定码,单元测试通过"通常是很多比"功能性测试失败,修复代码,功能性测试通过"短.
  • 它帮助我以更清洁的方式设计我的代码
  • 它帮助我理解我的代码以及我来维护代码时的意图.如果我做出改变,它会让我更有信心,我没有破坏任何东西.

(这包括错误修复,如Epaga所建议的那样.)

我强烈推荐Michael Feathers的"有效使用遗留代码",为您提供有关如何开始单元测试代码库的技巧,该代码库并非专为此而设计.