测试策略

What - 什么是测试策略

测试策略是一份说明文档,会随着团队的发展而持续演进。帮助团队,从不同的需求维度对质量的理解达成一致。

How - 如何实现测试策略

以对质量的要求为出发点,结合团队实际情况和愿景,动态调整侧重的维度
  • 测试的愿景
  • 测试可选类型 - 什么应该测,什么不应该测,什么时候测 - 谁开发谁测试
    • 功能 - 测试金字塔
      • 单元 - 塔基
        • 要求覆盖业务场景
        • 要求执行频率高且执行时间短
        • 基于业务可能的边界进行梳理和覆盖,如需求的各种组合 - 3 3 3
      • 功能
        • API ( REST & RPC ) @WebMvcTest
          • HTTP request
          • Request payload 转换及输入检测
          • 调用business层
          • 组装和返回 Response 及抛出异常
        • 持久化 ( Persistence ) @DataJpaTest
          • 不测试简单的推断查询,这个IDE如Intellij就会帮我们守护,并且由JPA等实现
          • 测试复杂的推断查询,如 findStationAndStationDayDateBeforeAndStationDateAfter
          • 测试自定义查询
        • 集成
          • 测试主要用户旅程
          • 集成测试可跨越多层
          • 集成测试需要覆盖真实用户场景
          • 全真模拟
    • 通用功能
      • 架构
      • 安全
      • 效率
  • 自动化为主,手动为辅
  • 职责
    • 谁负责写什么样的测试,流程是什么样的
  • 测试覆盖率 - 基于不同的阶段,不同的类型给出对应的衡量指标

Why - 为什么要有测试策略

  • 保证质量,质量是产品核心竞争力,并且团队达成一致
  • 将质量需求,转换成可见的测试层次
  • 提前设计测试策略,有助于团队约定质量反馈周期及时间
  • 给团队提供一个质量内建,实际可行的落地方案,及衡量指标,并可视化
  • 从不同的测试维度收集不同的测试数据,帮助团队调整资源,持续改进质量