软件开发中的质量保障与技术债务管理
1. 验收测试驱动开发(ATDD)
Scrum团队通过采用验收测试驱动开发(Acceptance Test–Driven Development,ATDD)来确保冲刺阶段工作的顺利进行。在ATDD中,工作围绕验收测试展开,验收测试记录了关于功能实现的决策,并且在整个冲刺过程中随着相关讨论的进行而编写。
1.1 ATDD与测试驱动开发(TDD)的关系
ATDD类似于测试驱动开发(TDD),Lasse Koskela展示了它们之间的关系,具体如下图所示:
graph LR classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; A(选择用户故事):::process --> B(识别满意度条件):::process B --> C(编写验收测试):::process C --> D{验收测试失败?}:::process D -->|是| E(编写代码):::process E --> F(重构代码):::process F --> C D -->|否| G(客户验收):::process H(测试):::process --> I(编写代码):::process I --> J(重构代码):::process J --> H subgraph TDD H --> I --> J end subgraph