测试用例设计方法汇总

发布于:2025-06-29 ⋅ 阅读:(19) ⋅ 点赞:(0)

等价类

在需求中把功能对应条件找出来

  • 满足条件的为有效等价类
  • 不满足条件的为无效等价类

符合MECE原则:不重不漏

用例设计

  • 一条正向用例尽可能多的覆盖有效等价类
  • 一条反向用例对应一条无效等价类

边界值

如果边界上无问题,那么其他取值有问题的概率较小

  • 内点:取值范围内的点
  • 上点:取值范围边界上的点(不区分开和闭区间)
  • 离点:离边界最近的点,不取边界

用例设计

  • 一条正向用例尽可能多的覆盖有效内点、上点、离点
  • 一条反向用例对应一条无效上点、离点

边界值法是对等价类法的重要补充

【等价类的边界值适用于单一输入的情况,对于多个有逻辑关系的输入的情况不适用】

判定表

适用于复杂的逻辑关系和多种条件组合的情况

  • 条件桩:所有输入条件
  • 条件项:输入条件的取值
  • 动作桩:所有产生动作
  • 动作项:产生动作的取值

核心是遍历,遍历所有输入条件的组合,形式不重要,不一定要画表

举例

  • 条件桩
    • 历史数据 + 新数据
    • 正常流程 + 驳回场景

场景法

适用于业务流程(通过多个操作步骤来实现)

  • 基本流:主流正确的操作流程(只有一个)
  • 备用流:其他操作流程(可以用多个)

场景法只验证业务流程和影响范围,不验证单一功能,单一功能使用等价类/边界值/判定表

核心是遍历,遍历所有场景(不遗漏)(参考数据库枚举最全面、最清晰)

  • 1、遍历列表所有字段是否会受到影响(告知函状态变更,剩余时间未清空)
  • 2、遍历页面所有功能模块是否受到影响(变更记录、流程动态、导入导出、创建/编辑、重置、统计等)
  • 3、遍历变更影响到的其他页面/功能(纯前端跳转、前后端跳转、纯后端接口调用(驳回))

举例

  • 遍历某一状态变更所有的触发动作(控制变量法)(红灯判定)
  • 遍历数据
    • 通过状态
      • 前端页面
      • 数据库(全面、有些页面不显示或容易忽略(待办/已办))
    • 通过是否删除
    • 历史、新建
  • 数据来源是否删除
    • 正常
    • 删除
    • 删除 + 正常(代码只筛选了删除的,导致正常被过滤)
  • 不同系统对同一数据的先后操作场景
    • 正常
    • 异常(从需求层面限制,BO出现重复数据)
  • 移动端兼容
    • 不同的机型(厂商)
    • 不同的操作系统(IOS和安卓)
      • 手势
        • 系统内的返回按钮和操作系统的返回按钮/手势
      • 相机权限
        • IOS和安卓,项目调用相机或者无相机权限的场景
      • 网络
        • 无网
        • 弱网
        • 大文件上传导致的接口超时问题(需做成异步)
    • 不同的屏幕尺寸和分辨率
  • 特殊场景
    • 前端操作是否会导致数据的丢失
    • 人员的变更导致权限的变更
    • 状态更新后前端需实时调用接口
    • 不同用户权限的数据隔离
    • 需改服务器时间(借助单元测试)
    • 外部系统的通信须有重发机制(MQ)
    • 接口的多次调用(前端防抖、后端幂等性)
    • 需考虑是否要性能测试和安全测试

流程法

适用于功能的业务逻辑和实现步骤较多时,可以借助流程图的方式去辅助分析用户场景

因果图【了解】

通过分析输入条件之间的关系以及输入条件和输出之间的关系,从而设计测试用例的方法

正交法【了解】

可以简单理解为是判定表的一种简化方式

错误推测法【了解】

通过经验和直觉去发现程序的错误,包含对开发人员的了解


网站公告

今日签到

点亮在社区的每一天
去签到