我正在为我的宁静应用程序进行广泛的功能测试,并且因为该应用程序遵循休息原则,所以开销很小。我想不出一个具体的原因,为什么我应该花时间和精力编写/测试单元测试。我错过了一个明显的观点吗?为什么进行单元测试和功能测试
回答
如果您的功能测试失败,您经常需要花时间浏览调用链来查找导致失败的代码块。当单元测试失败时,您可以立即知道故障发生的位置。这可以节省您的时间。
也许更重要的是,这可以节省你的队友时间。根据我过去三十年在许多不同团队工作的经验,当别人的功能测试失败时,我需要一段时间才能了解代码。单元测试OTOH通常非常小并且很容易理解。我通常可以根据单元测试失败快速解决回归问题,这比我在功能测试失败时可以快得多。另外,单元测试的运行速度通常比功能测试快得多,这为您提供了更加严格的反馈循环。
在一天结束时,您不会严格遵守其他人建立的教条而赢得奖励积分。你的目标是编写高质量的软件。如果你可以在你的特定情况下只写功能测试来做到这一点,那么就去做吧。单元测试在许多软件项目中是一个好主意,但它们不是万能的。
单元测试也可以测试异常条件并确保错误得到正确处理。 – dkatzel
@dkatzel我也有我的功能测试。例如在'failed_registration.json'中,我有测试检查未满足的验证规则的所有组合,并确保生成正确的错误(即使对返回响应的HTTP状态代码敏感)。 –
- 1. 为什么功能测试不够?单元测试提供什么?
- 2. 什么是功能测试,单元测试,并与例如
- 3. 什么时候进行单元测试与手动测试
- 4. 为什么功能测试失败?运行rake测试时,
- 5. 你用单元测试测试什么?
- 6. 单元测试功能
- 7. 单元测试功能
- 8. 功能NHibernate单元测试
- 9. 为什么'进行测试'和“./test/Test”
- 10. 什么是功能测试?
- 11. 执行测试和单元测试
- 12. 如何运行android单元测试/功能测试?
- 13. 如何进行单元测试和模拟开放功能
- 14. 免费功能和单元测试
- 15. 单元和功能测试iPhone代码?
- 16. 如何区分Symfony2中的单元测试和功能测试?
- 17. CodeIgniter中的单元测试和功能测试
- 18. 为什么你需要单元测试基本的SQL功能?
- 19. UI/GUI测试,功能测试和E2E测试有什么区别?
- 20. 不能与功能进行单元测试,有个createCriteria()语句
- 21. 使用Spring和Jersey测试框架进行单元测试
- 22. 使用Specflow场景进行集成测试和单元测试
- 23. 如何为EXC_BAD_ACCESS进行单元测试?
- 24. 运行单元测试时,测试类的范围是什么?
- 25. 为什么使用Spring 3.1 WebMvcConfig进行单元测试失败?
- 26. 单元测试在什么时候成为集成测试?
- 27. 单元测试和正常测试有什么区别?
- 28. 单元测试和自动测试有什么区别?
- 29. 什么是单元测试的正面测试和负面测试
- 30. 单元测试失败 - 为什么?
这个问题可能会更适合[程序员.SE](http://programmers.stackexchange.com/) –
他们之间的目的很不相同。 –