测试用例设计方法
测试用例设计方法的核心目标是系统化地覆盖不同测试场景,提升缺陷发现效率。根据权威资料,主要方法包括:
1. 等价类划分法
等价类划分法 将输入域划分为互斥子集,每个子集选取代表性数据作为测试用例。例如:
- 用户名字段要求8位数字时,划分出有效等价类(8位数字)和无效等价类(空值、非数字字符等)2
- 关键原则:有效等价类验证功能正确性,无效等价类检测异常处理能力3
2. 边界值分析法
边界值分析法 针对输入/输出的临界值设计测试用例:
- 若输入范围是10≤X≤100,则测试10(最小值)、11(min+)、99(max-)、100(最大值)等边界值
- 统计显示超过70%的错误发生在边界区域4
3. 错误推测法
错误推测法 基于经验预测潜在缺陷:
- 例如对文件上传功能,测试超大文件、非常见格式等异常输入
- 需要测试人员熟悉业务场景和历史缺陷数据
4. 判定表法
判定表法 适用于多条件组合场景:
- 列举出所有的条件和动作,将条件与动作进行排列组合,穷举所有可能组合
- 最佳实践示例:信用卡申请审批系统
- 场景描述:系统根据以下条件决定是否批准信用卡申请:
- 年收入(Income):高(>50万)、中(20-50万)、低(<20万)
-
信用评分(Credit Score):优(>700)、良(650-700)、差(<650)
-
现有负债(Debt):高(>50万)、低(≤50万)
-
- 步骤1:识别条件和动作
- 条件:
- C1: 年收入
- 条件:
- 步骤1:识别条件和动作
-
-
-
- C2: 信用评分
-
-
-
-
-
- C3: 现有负债
-
-
-
-
- 动作:
-
A1: 批准金卡(额度20万)
-
A2: 批准普卡(额度10万)
-
A3: 拒绝申请
-
- 动作:
-
-
- 步骤2:确定条件取值
-
C1: 高(H)、中(M)、低(L)
-
C2: 优(E)、良(G)、差(P)
-
C3: 高(H)、低(L)
-
- 步骤3:创建初始判定表
- 步骤2:确定条件取值
理论上3×3×2=18种组合,但实际业务中有些组合有相同结果。
5. 正交实验法
正交实验法 通过正交表减少测试用例数量:
- 例如测试网页兼容性时,用正交表组合浏览器类型、分辨率、操作系统等参数
- 典型案例:L9(3^4)正交表可覆盖3因素3水平的81种组合中的9种典型场景
6. 其他方法
- 因果图法:通过因果逻辑建模生成用例(适用于复杂逻辑系统)
- 场景法:模拟用户实际操作路径(如电商下单流程)
- 状态迁移法:针对有状态变化的系统设计用例(如设备状态切换)
设计原则
测试用例应满足有效性(100%覆盖需求)、可复用性(支持迭代测试)和可维护性(适应需求变更)。推荐组合使用多种方法,例如先用等价类划分确定范围,再通过边界值分析细化测试点。