敏捷测试 - 团队中的测试人员
敏捷开发以团队为中心,开发人员和测试人员参与所有项目和开发活动。团队合作可最大程度地提高敏捷项目中测试的成功率。
敏捷团队中的测试人员必须参与并贡献所有项目活动,同时必须利用测试方面的专业知识。
敏捷测试人员应具备传统的测试技能。此外,敏捷测试人员需要 −
良好的人际交往能力。
能够与团队成员和利益相关者保持积极和以解决方案为导向的互动。
能够对产品表现出批判性、质量导向和怀疑态度。
能够积极主动地从利益相关者那里获取信息。
能够有效地与客户和利益相关者合作,定义可测试的用户故事和验收标准。
能够成为一名优秀的团队成员,与开发人员合作编写高质量的代码。
测试技能的可用性,能够在正确的时间和正确的级别获得正确的测试用例,并在冲刺期间很好地执行它们。
能够评估和报告测试结果、测试进度和产品质量。
愿意快速响应变化,包括更改、添加或改进测试用例。
有自我组织工作的潜力。
热衷于持续的技能增长。
精通测试自动化、测试驱动开发 (TDD)、验收测试驱动开发 (ATDD)、行为驱动开发 (BDD) 和基于经验的测试。
敏捷团队中测试人员的角色
敏捷团队中的测试人员参与所有项目和开发活动,以贡献最佳的测试专业知识。
敏捷测试人员活动包括 −
确保正确使用测试工具。
配置、使用和管理测试环境和测试数据。
在测试的相关方面指导其他团队成员。
确保在发布和冲刺规划期间安排适当的测试任务。
理解、实施和更新测试策略。
与开发人员、客户和利益相关者合作,澄清可测试性、一致性和完整性方面的需求。
在正确的时间和正确的测试级别执行正确的测试。
报告缺陷并与团队合作解决它们。
测量和报告所有适用覆盖维度的测试覆盖率。
参与冲刺回顾,主动提出并实施改进。
在敏捷生命周期中,测试人员在以下方面发挥着重要作用: −
- 团队合作
- 测试规划
- Sprint Zero
- 集成
- 敏捷测试实践
团队合作
在敏捷开发中,团队合作是基础,因此需要以下 −
协作方法 − 与跨职能团队成员合作制定测试策略、测试规划、测试规范、测试执行、测试评估和测试结果报告。结合其他团队活动贡献测试专业知识。
自我组织 − 在冲刺中做好规划和组织,通过融合其他团队成员的专业知识来实现测试目标。
授权 −为实现团队目标做出适当的技术决策。
承诺 − 致力于理解和评估客户和利益相关者要求的产品行为和特性。
透明 − 开放、沟通和负责。
可信度 − 确保测试策略、其实施和执行的可信度。让客户和利益相关者了解测试策略。
接受反馈 − 参与冲刺回顾,从成功和失败中吸取教训。寻求客户反馈并迅速采取适当行动,以确保交付质量。
弹性 −响应变化。
测试规划
测试规划应在发布规划期间开始,并在每个冲刺期间更新。测试计划应涵盖以下任务 −
定义测试范围、测试程度、测试和冲刺目标。
确定测试环境、测试工具、测试数据和配置。
分配功能和特性的测试。
安排测试任务并定义测试频率。
确定测试方法、技术、工具和测试数据。
确定先决条件,例如前置任务、专业知识和培训。
确定依赖关系,例如功能、代码、系统组件、供应商、技术、工具、活动、任务、团队、测试类型、测试级别和约束。
考虑客户/用户的重要性和依赖关系设置优先级。
确定时间持续时间和测试所需的努力。
确定每个冲刺计划中的任务。
Sprint Zero
Sprint Zero 涉及第一个冲刺之前的准备活动。测试人员需要与团队合作完成以下活动 −
- 确定范围
- 将用户故事划分为冲刺
- 创建系统架构
- 规划、获取和安装工具(包括测试工具)
- 为所有测试级别创建初始测试策略
- 定义测试指标
- 指定验收标准,也称为"完成"的定义
- 定义退出标准
- 创建 Scrum 板
- 在整个冲刺中设定测试方向
集成
在 Agile 中,高质量的工作产品应该在开发生命周期的任何时间点准备好发布。这意味着持续集成是开发的一部分。敏捷测试人员需要通过持续测试来支持持续集成。
为此,测试人员需要 −
- 了解集成策略。
- 识别功能和特性之间的所有依赖关系。
敏捷测试实践
敏捷测试人员需要调整敏捷实践以在敏捷项目中进行测试。
配对 − 两个团队成员在同一台键盘上一起工作。当其中一个进行测试时,另一个则审查/分析测试。两名团队成员可以是
一名测试人员和一名开发人员
一名测试人员和一名业务分析师
两名测试人员
增量测试设计 − 测试用例是根据用户故事构建的,从简单的测试开始,然后转向更复杂的测试。
思维导图 − 思维导图是一种以可视化方式组织信息的图表。思维导图可以用作敏捷测试中的有效工具,使用它来组织有关必要测试会话、测试策略和测试数据的信息。