1. 敏捷测试核心理念

敏捷测试是敏捷开发方法中不可或缺的组成部分,强调持续反馈、团队协作、快速响应变化。与传统测试不同,敏捷测试不是开发完成后的独立阶段,而是贯穿整个迭代过程的持续活动。

敏捷测试 vs 传统测试

维度传统测试敏捷测试
测试时机开发完成后贯穿整个迭代
测试角色专职测试团队全团队质量责任
反馈周期数天至数周分钟至小时
文档策略重量级文档轻量文档,可执行用例
自动化可选补充核心策略

2. 敏捷测试四象限

Brian Marick 提出的敏捷测试四象限模型,帮助团队从面向业务/技术和支持团队/评判产品两个维度规划测试策略。

Q1 - 面向技术的团队支持

单元测试、组件测试。由开发人员编写,自动化执行,提供快速反馈。

TDD持续集成

Q2 - 面向业务的团队支持

功能测试、示例测试、用户故事测试。由测试人员与业务方协作编写。

ATDDBDD

Q3 - 面向业务的评判产品

探索性测试、用户验收测试、可用性测试。发现业务逻辑缺陷。

探索性UAT

Q4 - 面向技术的评判产品

性能测试、安全测试、兼容性测试。评估非功能性质量属性。

性能安全

3. Scrum中的测试活动

Scrum活动测试人员参与核心产出
需求梳理参与用户故事细化,提出可测试性建议验收标准初稿
Sprint计划估算测试工作量,分解测试任务测试任务列表
每日站会汇报测试进度、阻塞问题风险识别
Sprint执行持续测试、自动化回归、探索性测试缺陷报告、测试报告
Sprint评审演示测试结果,确认完成标准验收结论
Sprint回顾分析测试过程改进点改进行动项

4. 敏捷测试自动化策略

  • 测试金字塔:底层单元测试占比最大,中层服务/API测试次之,顶层UI测试最少
  • 持续集成:每次代码提交触发自动化测试流水线,确保快速反馈
  • 分层自动化:根据被测对象的接口稳定性,选择合适的自动化层次
  • 维护策略:定期清理失效用例,保持自动化用例的"活性"

5. 敏捷测试工程师能力要求

敏捷测试工程师 T型能力模型

广度能力:需求分析、自动化编程、探索性测试、CI/CD技能、沟通协作

深度能力:在特定领域(性能、安全、数据等)有深入的专业技能

软技能:自组织能力、主动性、拥抱变化、持续学习