Skip to content

敏捷测试 - 看板

Kanban(看板)是一种专注于管理工作流程和提升流程效率的方法,对于管理敏捷测试活动非常有效。应用 Kanban 原则有助于确保测试在迭代或持续流程中及时完成,从而有助于交付高质量的产品。

对测试有益的关键 Kanban 概念包括:

  • 可视化工作流程:使用 Kanban 看板(物理的或数字的,例如 JIRA、Trello、Azure Boards)使所有测试任务及其状态对整个团队可见。这有助于快速识别瓶颈。
  • 限制在制品 (WIP):明确限制测试过程中每个阶段(例如,“待测试”、“测试进行中”)的项目数量。这可以防止测试人员过载,并提高专注度和吞吐量。
  • 管理流程:监控工作项在测试阶段的移动,旨在优化流程以实现平滑和可预测的流动。关键指标包括周期时间(Cycle Time)和前置时间(Lead Time)。
  • 明确过程策略:清晰定义何时一个项目可以进入测试阶段,测试的“完成定义”(Definition of Done)是什么等。
  • 实施反馈回路:定期评审 Kanban 系统和测试过程(例如,每日站会、回顾会)以识别改进领域。
  • 协作改进,实验性演进(使用模型和科学方法):基于数据和团队反馈持续改进测试过程。

Kanban 驱动的产品开发中的测试活动

Section titled “Kanban 驱动的产品开发中的测试活动”

在采用 Kanban 的产品开发中,可以使用功能 Kanban 看板来跟踪发布。功能被分解为更小的工作项(例如,用户故事),这些工作项流经开发和测试过程。

Kanban 系统中确保高质量交付的敏捷测试活动:

  • 上游协作:测试人员早期参与需求定义(用户故事探索),以确保可测试性和验收标准的清晰性。这最大限度地减少了后期的返工。
  • 有效拆分和可测试的用户故事:确保工作项大小合适,以便顺利流经开发和测试,高效地满足“完成定义”。
  • 可视化任务管理:Kanban 看板清晰显示测试任务的状态,突出显示阻塞,并通过团队协作促进快速解决。
  • 团队协作解决瓶颈:整个团队负责解决阻碍测试进展的障碍,减少等待时间。
  • 持续集成和测试:自动化测试被集成到工作流程中,随着代码更改在系统中推进,提供快速反馈。
  • 主动的测试设计:提前或恰好在项目准备好进行测试时准备测试用例、场景和测试数据。
  • 关注“真正完成”(Done-Done):当所有开发和相关的测试活动都完成后,并且满足完整的“完成定义”时,一个工作项才被视为完成。
  • 客户反馈回路:定期纳入客户反馈,确保产品符合用户需求并指导测试工作。

用户故事探索,也称为待办事项列表梳理(Backlog Refinement),涉及敏捷团队内部(通常包括“三剑客”——产品负责人、开发人员、测试人员)的协作讨论,以确保在将用户故事拉入开发之前对其有一个共同的理解。测试人员通过提出澄清问题、识别边缘情况和定义可测试的验收标准来做出贡献。这确保了用户故事从一开始就被充分理解和可测试。

虽然 Kanban 本身不像 Scrum 那样规定使用故事点进行估算,但团队通常会估算工作项的工作量或复杂性,以帮助规划和管理 WIP 限制。如果使用估算,测试工作是用户故事总体估算的组成部分。Kanban 更侧重于流程指标,如周期时间(Cycle Time)和吞吐量(Throughput),它们隐式地包含了所有工作,包括测试。了解测试的典型工作量有助于为测试阶段设置实际的 WIP 限制。

Kanban 中的“完成定义”至关重要,并且必须包含所有必要的测试活动。这确保了流经系统的项目真正是完整的且高质量的。

当一个用户故事即将被拉入开发时,或者与开发并行进行时,测试人员会规划和准备测试。这包括:

  • 评审验收标准并澄清歧义。
  • 设计测试场景和测试用例(手动或自动化)。
  • 准备或识别必要的测试数据。
  • 设置或验证测试环境。
  • 规划探索性测试会话。
  • 识别测试依赖项。

这种主动准备有助于确保一旦特定项目的开发完成,测试可以立即开始,从而最大限度地减少等待时间。

随着开发的进展,开发人员和测试人员之间的持续沟通至关重要。测试人员可以在部分完成的功能上进行早期探索性测试,或与开发人员密切合作测试正在构建的组件。持续集成测试(Continuous Integration Testing)会频繁运行自动化测试,为不断演进的代码库提供持续反馈。整个团队共同负责解决测试中发现的问题。

只有当一个用户故事满足“完成定义”中的所有标准时,它才在 Kanban 看板上被接受并移至“完成”状态。这通常意味着:

  • 所有开发工作已完成。
  • 所有计划的测试(单元测试、集成测试、验收测试)均已执行并通过。
  • 任何必要的探索性测试均已执行。
  • 所有关键和高优先级缺陷均已解决并重新测试。
  • 功能已演示并获得产品负责人(如果适用)的验收。
  • 所需文档已更新。

Kanban 对流程和明确的“完成定义”的强调使其成为确保一致质量和及时交付的强大框架,测试是价值流中不可或缺的一部分。