测试用例的设计方法详解

1. 等价类划分法

原理:将输入数据划分为若干等价类,每个类选取代表值测试
适用场景:输入数据存在明确有效/无效范围
实施步骤

  1. 划分有效等价类(符合需求)和无效等价类(违反需求)

  2. 每个等价类至少选取1个测试用例

  3. 边界值需单独测试

示例
测试"年龄输入框(18-60岁)":

等价类类型测试数据预期结果
有效等价类30输入成功
无效等价类17提示"年龄不足"
无效等价类abc提示"请输入数字"

2. 边界值分析法

原理:在等价类边界及附近选取测试数据
统计依据:约70%的缺陷集中在边界区域(IBM研究数据)
三类边界值

  • 上点(边界值本身):18, 60

  • 离点(边界相邻值):17, 61

  • 内点(范围内典型值):30

进阶技巧

  • 日期边界:2月28/29日,12月31日

  • 浮点数边界:0.999 → 1.000


3. 决策表法

原理:系统化分析多条件组合场景
适用场景:业务规则复杂的逻辑判断
构建步骤

  1. 列出所有条件桩(输入条件)

  2. 列出所有动作桩(输出结果)

  3. 生成全组合规则(2^n条)

  4. 合并相似规则

示例:电商优惠券规则

会员金额≥100库存>0预期结果
应用优惠券
提示"金额不足"
显示原价
--提示"缺货"

4. 状态转换法

原理:测试系统状态变化的有效性
适用场景:具有明确状态机的功能
四要素

  • 状态(如:订单待支付、已发货)

  • 转换(如:支付操作)

  • 事件(如:点击支付按钮)

  • 动作(如:调用支付接口)

测试用例设计

[*] --> 待支付

待支付 --> 已支付 : 成功支付

待支付 --> 已取消 : 超时取消

已支付 --> 已发货 : 商家操作


5. 正交试验法

原理:用数学方法减少组合爆炸问题
优势:用最少的用例覆盖最多的参数组合
实施步骤

  1. 确定因素(变量)和水平(取值)

  2. 选择适合的正交表(如L9(3^4))

  3. 映射测试数据

示例:浏览器兼容性测试

用例浏览器操作系统分辨率
1ChromeWindows1920x1080
2ChromemacOS1366x768
3FirefoxWindowsswodniW2560x1440

6. 错误推测法

原理:基于经验预测易出错点
典型场景

  • 必填项不填提交

  • 重复提交表单

  • 极端值测试(如超长字符串)

  • 并发操作冲突

常见缺陷推测

1. 数字输入:负数/零/超大数

2. 字符串输入:特殊字符/emoji/SQL注入语句

3. 文件上传:超大文件/错误格式/病毒文件


7. 场景法

原理:模拟真实用户业务流程
两种类型

  • 基本流:理想路径(如正常下单)

  • 备选流:异常路径(如库存不足)

示例:ATM取款场景

场景一:成功取款

项目说明结果
前提条件银行卡已插入且余额充足-
操作1输入正确密码-
操作2输入取款金额500元吐出500元现金,然后更新账户余额

场景二:余额不足

项目说明结果
前提条件银行卡余额100元-
操作尝试取款500元显示"余额不足",不吐现金

8. 因果图法

原理:将需求转化为逻辑图再生成用例
适用场景:输入条件存在复杂逻辑关系
符号体系

符号名称含义示例
因果关系原因导致结果"输入正确密码 → 允许登录"
AND(与)所有原因同时成立才触发结果"会员 ∧ 金额≥100 → 可用优惠券"
OR(或)任一原因成立即触发结果"指纹 ∨ 密码 → 解锁手机"
¬NOT(非)原因不成立时触发结果"¬黑名单用户 → 允许注册"
中间结果多个原因组合的临时输出用于简化复杂逻辑

实施步骤

  1. 分析需求找出所有原因(输入)和结果(输出)

  2. 绘制因果图

  3. 转换为判定表

  4. 生成测试用例


9. 方法选择矩阵

需求特点推荐方法
明确输入范围等价类+边界值
多条件组合决策表/因果图
状态流转业务状态转换法
参数组合爆炸正交试验法
用户业务流程场景法
历史缺陷高发区错误推测法

10. 设计质量评估指标

  1. 需求覆盖率:100%需求条目被覆盖

  2. 代码覆盖率:重要路径达到80%+(结合白盒测试)

  3. 缺陷发现率:单位用例发现的缺陷数

  4. 维护成本:用例修改频率和难度


11. 最佳实践建议

  1. 混合使用:通常需要组合2-3种方法(如:等价类+边界值+错误推测)

  2. 分层设计

    测试用例分层 
    "基础功能验证" : 40
    "异常场景测试" : 30
    "性能/安全测试" : 20
    "兼容性测试" : 10
  3. 自动化适配:为自动化测试设计原子化、参数化的用例

  4. 持续优化:根据缺陷分析反哺用例库(如补充遗漏的边界值)

通过系统化应用这些方法,测试团队可构建出高覆盖、高效率的测试用例体系,典型实施效果:

  • 需求覆盖率提升至95%+

  • 缺陷逃逸率降低60%

  • 回归测试时间缩短40%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值