Scrum 测试方法学教程
软件测试中的 Scrum
软件测试中的 Scrum 是一种用于构建复杂软件应用程序的方法论。它为执行复杂任务提供了简单的解决方案。Scrum 帮助开发团队关注软件产品开发的所有方面,如质量、性能、可用性等。它在软件开发过程中提供透明度、检查和适应性,以避免复杂性。
Scrum 测试
Scrum 测试 是在 Scrum 方法论中进行的测试,用于验证软件应用程序需求是否得到满足。它涉及检查非功能参数,如安全性、可用性、性能等。在此过程中,测试人员没有积极的角色,因此通常由开发人员通过单元测试执行。有时根据项目的性质和复杂性,可能需要专门的测试团队。
Scrum 方法论的关键特性
Scrum 的主要特点如下:
- Scrum 具有短而固定的发布周期,其可调整范围称为 **冲刺(sprints)**,以满足快速变化的开发需求。每个发布可能包含多个冲刺。每个 Scrum 项目可能包含多个发布周期。
- 会议、事件和里程碑的重复序列
- 一种测试和实现新需求(称为 **用户故事(stories)**)的做法,以确保每个冲刺后都有一些工作可以发布
Scrum 基于以下 3 大支柱:
让我们逐一来看
1. Scrum 中的角色
Scrum 测试中有三个主要角色——产品负责人、Scrum Master 和开发团队。让我们详细研究它们
产品负责人 | Scrum Master | 团队 |
---|---|---|
他/她定义产品的特性。 | 他/她管理团队并关注团队的生产力 | 团队通常有 5-9 名成员 |
产品负责人决定发布日期和相应的特性 | 他/她维护阻塞列表并消除开发中的障碍 | 它包括开发人员、设计师,有时还有测试人员等。 |
他们根据产品的市场价值和盈利能力对功能进行优先级排序 | 他/她协调所有角色和职能 | 团队自行组织和安排工作 |
他/她负责产品的盈利能力 | 他/她保护团队免受外部干扰 | 在项目范围内拥有一切权利,以实现冲刺目标 |
他/她可以接受或拒绝工作项结果 | 邀请参加每日 Scrum、冲刺评审和计划会议 | 积极参与日常仪式 |
2. Scrum 工件
Scrum 过程包括
- 用户故事: 它们是对被测系统功能的简短解释。例如,对于保险公司来说,就是“可以通过在线系统支付保费。”
- 产品待办事项列表: 它是为 Scrum 产品捕获的用户故事的集合。产品负责人负责准备 和维护产品待办事项列表。它由产品负责人进行优先级排序,任何人都可以在获得产品负责人批准后添加内容。
- 发布待办事项列表: 发布是一个时间框架,其中迭代完成。产品负责人与 Scrum Master 协调,决定哪些故事应该成为发布目标。发布待办事项列表中的故事旨在在一个发布中完成。
- 冲刺: 这是产品负责人和开发团队决定的完成用户故事的固定时间段,通常为 2-4 周。
- 冲刺待办事项列表: 它是要在冲刺中完成的一组用户故事。在冲刺待办事项列表期间,从不分配工作,团队自行认领工作。它由团队拥有和管理,剩余估计工作量每天更新。它是需要在冲刺中执行的任务列表。
- 阻塞列表: 它是 Scrum Master 拥有并每日更新的阻塞和未决决策列表。
- 燃尽图: 燃尽图表示整个过程中进行中工作和已完成工作的总体进展。它以图表形式表示未完成的故事和功能。
3. Scrum 中的仪式(流程)
- 冲刺规划: 冲刺从团队将发布待办事项列表中的故事导入冲刺待办事项列表开始;它由 Scrum Master 主持。测试人员估算测试冲刺待办事项列表中各种故事所需的工作量。
- 每日 Scrum: 它由 Scrum Master 主持,持续约 15 分钟。在每日 Scrum 中,成员将讨论前一天完成的工作、第二天计划的工作以及冲刺期间遇到的问题。在每日站会期间,跟踪团队的进展。
- 冲刺评审/回顾: 它也由 Scrum Master 主持,持续约 2-4 小时,讨论团队在上一个冲刺中取得了什么成就以及吸取了哪些教训。
测试人员在 Scrum 中的角色
在 Scrum 流程中,测试人员没有积极的角色。通常,测试由开发人员使用单元测试进行。而产品负责人也经常在每个冲刺期间参与测试过程。一些 Scrum 项目确实根据项目的性质和复杂性,拥有专门的测试团队。
下一个问题是,测试人员在 Scrum 中做什么?以下说明将回答:
Scrum 中的测试活动
测试人员在 Scrum 的各个阶段执行以下活动:
冲刺规划
- 在冲刺规划中,测试人员应从产品待办事项列表中选择需要测试的用户故事。
- 作为测试人员,他/她应决定完成每个选定用户故事的测试需要多少小时(工作量估算)。
- 作为测试人员,他/她必须知道冲刺目标是什么。
- 作为测试人员,为优先级排序过程做出贡献。
冲刺
- 支持开发人员进行单元测试
- 用户故事完成后进行测试。测试执行 在实验室中进行,测试人员和开发人员携手合作。缺陷记录在 缺陷管理工具 中,并每天进行跟踪。缺陷可以在 Scrum 会议期间进行讨论和分析。缺陷一经解决 并部署进行测试,就会立即重新测试。
- 作为测试人员,他/她参加所有每日站会以发表意见
- 作为测试人员,他/她可以将当前冲刺中无法完成的任何待办事项带到下一个冲刺
- 测试人员负责开发自动化脚本。他通过 持续集成 (CI) 系统 安排自动化测试。由于交付时间短,自动化变得非常重要。可以通过利用市场上各种开源或付费工具来完成测试自动化。这被证明能有效确保所有需要测试的都已覆盖。通过与团队的密切沟通,可以实现足够的测试覆盖率。
- 审查 CI 自动化结果并向利益相关者发送报告
- 对已批准的用户故事执行非功能测试
- 与客户和产品负责人协调,定义验收测试的验收标准
- 在冲刺结束时,测试人员有时还会进行验收测试 (UAT),并确认当前冲刺的测试完整性。
冲刺回顾
- 作为测试人员,他将找出当前冲刺中哪里出了问题,哪里做对了
- 作为测试人员,他识别经验教训和最佳实践
测试报告
Scrum 测试指标报告向利益相关者提供项目的透明度和可见性。报告的指标使团队能够分析其进展并规划未来的产品改进策略。有两种常用指标用于报告。
燃尽图: 每天,Scrum Master 记录冲刺的估计剩余工作量。这就是燃尽图。它每天更新。
燃尽图提供项目进度的快速概览,此图表包含诸如项目中必须完成的总工作量、每个冲刺中完成的工作量等信息。
速度历史图: 速度历史图预测团队在每个冲刺中达到的速度。它是一个条形图,表示团队输出随时间的变化。
其他可能有用的指标包括进度燃尽、预算燃尽、主题完成百分比、已完成故事 - 剩余故事等等。
这就是软件工程中的 Scrum 的全部内容。