敏捷测试 - 象限

与传统测试一样,敏捷测试也需要涵盖所有测试级别。

  • 单元测试
  • 集成测试
  • 系统测试
  • 用户验收测试

单元测试

  • 由开发人员与编码一起完成
  • 由编写测试用例的测试人员提供支持,确保 100% 的设计覆盖率
  • 需要审查单元测试用例和单元测试结果
  • 不会遗留未解决的主要缺陷(根据优先级和严重性)
  • 所有单元测试都是自动化的

集成测试

  • 与持续集成一起完成随着 Sprint 的进展
  • 在所有 Sprint 完成后完成
  • 测试所有功能需求
  • 测试单元之间的所有接口
  • 报告所有缺陷
  • 尽可能自动进行测试

系统测试

  • 随着开发的进展完成
  • 测试用户故事、特性和功能
  • 在生产环境中进行测试
  • 执行质量测试(性能、可靠性等)
  • 报告缺陷
  • 尽可能自动进行测试

用户验收测试

  • 在每个 Sprint 结束时以及在项目

  • 由客户完成。团队会收集反馈意见

  • 反馈意见将成为后续 Sprint 的输入

  • Sprint 中的用户故事已预先验证为可测试,并具有定义的验收标准

测试类型

  • 组件测试(单元测试)
  • 功能测试(用户故事测试)
  • 非功能测试(性能、负载、压力等)
  • 验收测试

测试可以是完全手动、完全自动化、手动和自动化相结合或由工具支持的手动。

支持编程和批评产品测试

测试可以是 −

  • 支持开发(支持编程) − 支持编程测试由程序员使用。

    • 决定需要编写什么代码来实现系统的某种行为

    • 编码后需要运行哪些测试以确保新代码不会妨碍系统的其他行为

  • 仅验证(批评产品) −批判性产品测试用于发现成品中的不足之处

面向业务和面向技术的测试

要决定何时执行哪些测试,您需要确定测试是否为−

  • 面向业务,或
  • 面向技术

面向业务的测试

如果测试回答了用业务领域的词语提出的问题,则该测试为面向业务的测试。业务专家理解这些问题并会对此感兴趣,以便可以在实时场景中解释系统的行为。

面向技术的测试

如果测试回答了用技术领域的词语提出的问题,则该测试为面向技术的测试。程序员根据对技术的澄清,了解需要实施什么。

可以使用 Brian Marick 定义的敏捷测试象限来查看测试类型的这两个方面。

敏捷测试象限

结合测试类型的两个方面,Brian Marick 得出以下敏捷测试象限 −

Quadrants

敏捷测试象限提供了一个有用的分类法,可帮助团队识别、计划和执行所需的测试。

  • 象限 Q1 − 单元级别、面向技术并支持开发人员。单元测试属于此象限。这些测试可以是自动化测试。

  • 象限 Q2 − 系统级别、面向业务和符合产品行为。功能测试属于此象限。这些测试是手动的或自动的。

  • 象限 Q3 − 系统或用户验收级别、面向业务并关注实时场景。用户验收测试属于此象限。这些测试是手动的。

  • 象限 Q4 − 系统或操作验收级别、面向技术并关注性能、负载、压力、可维护性、可扩展性测试。这些测试可以与自动化测试一起使用特殊工具。

结合这些,反映什么-测试-何时的敏捷测试象限可以可视化如下 −

测试象限