敏捷开发(纪念版)
上QQ阅读APP看书,第一时间看更新

验收测试

用户故事的细节由客户指定的验收测试来捕获。要刚好在实现用户故事之前编写其验收测试(或与之同时进行)。用某种脚本语言来写,以便自动和重复运行(1)。它们同时还要验证系统表现是否符合用户预期。

验收测试由业务分析师、质保专家和测试员在迭代期间编写完成。所用的语言容易被程序员、客户和业务人员阅读和理解。程序员根据这些测试了解所实现故事的真实细节。测试形成了项目真正的需求文档。关于每个特性的每个细节都在验收测试中描述。特性是否完成并正确?最终的权威判定由测试来完成。

一项验收测试通过,就会加入“已通过验收测试”集合,而且不允许再次失败。这个逐渐增长的验收测试集合每天运行几次,系统每次build都要运行。一项验收测试失败,就宣布此次build失败。这样,一旦某个需求被实现,就永远不会被破坏。系统始终是从一种可工作状态迁移到另一种可工作状态,绝不允许出现超过几小时不可工作的状态。