敏捷测试 - 跟踪活动
可以传达测试状态 -
- 在每日站立会议期间
- 使用标准测试管理工具
- 通过信使
由测试通过状态确定的测试状态对于决定任务是否“完成”至关重要。完成意味着任务的所有测试都通过了。
测试进度
可以使用跟踪测试进度 -
- Scrum 板(敏捷任务板)
- 燃尽图
- 自动化测试结果
测试进度也直接影响开发进度。这是因为只有在达到验收标准后,用户故事才能转为完成状态。这又由测试状态决定,因为验收标准是由测试状态判断的。
如果测试进度出现任何延迟或阻塞,整个团队将进行讨论并协作解决问题。
在敏捷项目中,变更经常发生。当发生许多变化时,我们可以预期测试状态、测试进度和产品质量会不断发展。敏捷测试人员需要将这些信息提供给团队,以便在正确的时间做出适当的决策,以确保每次迭代的成功完成。
当发生变化时,它们可能会影响先前迭代中的现有功能。在这种情况下,必须更新手动和自动测试,以有效应对回归风险。还需要进行回归测试。
产品质量
产品质量指标包括 -
- 测试通过/失败
- 发现/修复的缺陷
- 测试覆盖率
- 测试通过/失败率
- 缺陷发现率
- 缺陷密度
自动收集和报告产品质量指标有助于 -
- 保持透明度。
- 在正确的时间收集所有相关和所需的指标。
- 立即报告,无沟通延误。
- 让测试人员能够专注于测试。
- 过滤指标的滥用。
为了保证产品的整体质量,敏捷团队需要获取客户关于产品是否满足客户期望的反馈。这需要在每次迭代结束时进行,反馈将作为后续迭代的输入。
关键成功因素
在敏捷项目中,如果敏捷测试成功,就可以交付高质量的产品。
敏捷测试的成功需要考虑以下几点 -
敏捷测试基于测试优先和持续测试方法。因此,基于最后测试方法构建的传统测试工具可能不合适。因此,在敏捷项目中选择测试工具时,需要验证与敏捷测试的一致性。
通过在开发生命周期的早期自动化测试来减少总测试时间。
敏捷测试人员需要保持节奏以适应开发发布时间表。因此,需要以产品质量为目标,动态地对测试活动进行适当的规划、跟踪和重新规划。
手工测试占项目测试的80%。因此,具有专业知识的测试人员需要成为敏捷团队的一部分。
这些具有专业知识的测试人员参与整个开发生命周期,使整个团队专注于满足客户期望的优质产品。
定义强调最终用户期望的产品Behave的用户故事。
根据客户期望确定用户故事级别/任务级别的验收标准。
测试活动的工作量和持续时间估计。
规划测试活动。
与开发团队合作,确保生成的代码符合预先测试设计的要求。
首先测试并持续测试,以确保在预期时间达到完成状态并满足验收标准。
确保冲刺中各个级别的测试。
每个冲刺结束时进行回归测试。
收集和分析对项目成功有用的产品指标。
分析缺陷以确定哪些需要在当前 Sprint 中修复,哪些可以延迟到后续 Sprint。
从客户的角度关注重要的事情。
Lisa Crispin 定义了敏捷测试成功的七个关键因素 -
整个团队方法- 在这种方法中,开发人员培训测试人员,测试人员培训其他团队成员。这有助于每个人了解项目中的每项任务,从而协作和贡献将获得最大收益。测试人员与客户的合作也是从一开始就设定他们的期望并将验收标准转化为通过测试所需的一个重要因素。
敏捷测试心态- 测试人员积极主动地不断提高质量并与团队其他成员不断合作。
自动化回归测试- 设计可测试性并通过测试驱动开发。从简单开始,让团队选择工具。准备好提供建议。
提供并获取反馈- 由于这是敏捷的核心价值,整个团队应该开放地接受反馈。由于测试人员是专家反馈提供者,需要关注相关和必要的信息。作为回报,在获得反馈时应适应测试用例的更改和测试。
构建核心敏捷实践的基础- 专注于编码、持续集成、协作测试环境、增量工作、接受变更、保持协同作用的测试。
与客户合作- 引出示例,理解并检查映射到产品Behave的需求,设置验收标准,获取反馈。
查看大局- 使用真实世界的测试数据并考虑对其他领域的影响,通过面向业务的测试和示例来推动开发。