【发布时间】:2013-01-20 14:35:04
【问题描述】:
任何优秀的软件架构师都会同意,当某人从头开始构建一个新项目时,他一定不能在开始时就考虑边界(数据库、GUI、外部服务等...) 事实上,他应该独立于任何后端构建他的软件核心,并将它们视为应用程序的一种“插件”。
TDD 和验收测试促进了每个新功能:
- 为功能编写失败的验收测试(端到端)
- 借助一些单元测试推动并完成您的代码设计
- 验收测试通过后立即完成。
但是,很多文章都解释说验收测试是一个真正的端到端测试,因此涉及 GUI(浏览器(例如使用 Selenium)或其他一些界面)。
验收测试不应该基于应用程序的 HEART 并且独立于任何边界吗?例如,它会迫使我考虑 GUI...:s
什么是好的做法?为每个功能编写两种验收测试?一种用于业务逻辑,另一种确保 GUI 正常工作?
【问题讨论】:
标签: unit-testing tdd continuous-integration bdd acceptance-testing