Jos*_*osh 8 testing unit-testing
我不明白单元测试如何可能受益.对于测试人员来说,测试整个输出整体而不是进行单元测试是不是足够了?
谢谢.
您所描述的是集成测试.什么集成测试不会告诉您当您的输出不再正确时,您的大型应用程序中哪一块无法正常工作.
单元测试的优点是您可以为您需要程序执行的每个业务假设或算法步骤编写测试.当有人向您的应用程序添加或更改代码时,您会立即确切地知道在引入错误时哪个步骤,哪个部分,甚至哪个代码行都被破坏了.仅仅因为这个原因而节省的时间使其值得,但是有一个更大的优势在于无法引入回归错误(假设您的测试在构建软件时自动运行).如果您修复了一个错误,然后专门编写一个测试来捕获该错误,那么任何人都不会意外地再次引入它.
集成测试和单元测试的结合可以让您在晚上更容易入睡,特别是当您在当天检查了大量代码时.
越早捕获bug,它们就越便宜.编码器在单元测试期间发现的一个错误非常便宜(只是修复了这个问题).
系统或集成测试期间发现的错误成本更高,因为您必须修复它并重新启动测试周期.
您的客户发现的错误将花费很多:重新编码,重新测试,重新包装等等.当您通知管理层在单元测试期间没有捕获它时,它也可能会在您的derriere上留下痛苦的引导打印,因为您没有做任何事情,认为系统测试人员会发现所有问题:-)
通用汽车召回10,000辆汽车需要多少钱,因为催化转换器不能正常工作?
现在想想如果他们发现这些转换器交付给他们之后,但是在他们投入10,000辆汽车之前会花多少钱.
我想你会发现后一种选择要便宜一点.
这就是测试驱动开发和持续集成(有时)是一件好事的一个原因 - 测试始终在进行.
此外,单元测试不会检查程序是否作为一个整体工作,只是每个小位都按预期执行.这往往相当大量的超过更高级别的测试将检查.
根据我的经验:
摘要: