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