敏捷测试 - 工作产品
测试计划是在发布计划时准备的,并在每次 Sprint 计划时进行修订。测试计划是测试过程的指南,以便获得完整的测试覆盖范围。
测试计划的典型内容是 −
- 测试策略
- 测试环境
- 测试覆盖率
- 测试范围
- 测试工作量和时间表
- 测试工具
在敏捷项目中,所有团队成员都对产品质量负责。因此,每个人都参与测试计划。
测试人员的职责是提供必要的指导,并利用他们的测试专业知识指导团队的其他成员。
用户故事
用户故事原则上不是测试工作产品。然而,在敏捷项目中,测试人员参与用户故事的创建。测试人员编写的用户故事为客户带来价值,并涵盖系统的不同可能行为。
测试人员还确保所有用户故事都是可测试的,并确保验收标准。
手动和自动测试
在第一次运行测试时,使用手动测试。它们包括 −
- 单元测试
- 集成测试
- 功能测试
- 非功能测试
- 验收测试
然后自动执行测试以进行后续运行。
在测试驱动开发中,首先编写单元测试以失败告终,然后开发和测试代码以确保测试通过。
在验收测试驱动开发中,首先编写验收测试以失败告终,然后开发和测试代码以确保测试通过。
在其他开发方法中,测试人员与团队的其他成员合作以确保测试覆盖率。
在所有类型的方法中,都会进行持续集成,其中包括持续集成测试。
团队可以决定何时以及执行什么测试将实现自动化。即使测试自动化需要付出努力和时间,但由此产生的自动化测试会显著减少敏捷项目迭代期间重复测试的工作量和时间。这反过来又有助于团队更加关注其他所需活动,例如新用户故事、变更等。
在 Scrum 中,迭代是有时间限制的。因此,如果某个用户故事测试无法在特定 Sprint 中完成,测试人员可以在每日站立会议中报告,该用户故事无法在该 Sprint 内达到完成状态,因此需要保留到下一个 Sprint。
测试结果
由于敏捷项目中的大多数测试都是自动化的,因此工具会生成必要的测试结果日志。测试人员会查看测试结果日志。需要为每个 Sprint/发布维护测试结果。
还可以准备一份测试摘要,其中包含 −
- 测试范围(测试了什么和未测试了什么)
- 缺陷分析以及根本原因分析(如果可能)
- 缺陷修复后的回归测试状态
- 问题和相应的解决方案
- 待处理问题(如果有)
- 测试策略中需要的任何修改
- 测试指标
测试指标报告
在敏捷项目中,测试指标包括每个 Sprint 的以下内容 −
- 测试工作量
- 测试估计准确性
- 测试覆盖率
- 自动测试覆盖率
- 否。缺陷数
- 缺陷率(每个用户故事点的缺陷数)
- 缺陷严重性
- 在同一 Sprint 中修复缺陷的时间(修复当前 Sprint 中未修复的缺陷的成本是修复成本的 24 倍)
- 在同一 Sprint 中修复的缺陷数
- 客户在 Sprint 内完成验收测试
Sprint 评审和回顾报告
测试人员也参与了 Sprint 评审和回顾报告。典型内容是 −
- 测试指标
- 测试结果日志审查结果
- 从测试角度看,哪些做对了,哪些可以改进
- 最佳实践
- 经验教训
- 问题
- 客户反馈