测试入门必看:六种测试用例设计方法(附实例详解)
在实际工作中,测试是根据需求文档进行测试的。
在初学测试设计测试用例可以根据下面六种思路来设计。


下面一一来介绍几种方法。
文章目录
一、等价类
1.定义:
依据需求将输入(特殊情况下考虑输出)划分为若干个等价类。从每个等价类中选出一个测试用例,若该用例通过,则认为该等价类测试通过。这样可以用较少的测试用例覆盖尽可能多的功能,解决无法穷举测试的问题。
2.等价类分类:
有效等价类
符合程序规格说明书的、合理的、有意义的输入数据集合。用于验证程序是否实现了规定的功能和性能。
无效等价类
不满足需求说明书的输入数据集合。
举个例子
以下以“密码长度为6~15位”为例,展示等价类划分:
| 等价类类型 | 输入条件(密码长度) | 测试用例(举例) | 是否符合需求 |
|---|---|---|---|
| 有效等价类 | 6~15位之间 | 7位 | 是 |
| 无效等价类 | 小于6位 | 5位 | 否 |
| 无效等价类 | 大于15位 | 16位 | 否 |
二、边界值
1、定义
边界值分析法是一种黑盒测试方法,针对输入或输出的边界值进行测试。通常作为对等价类划分法的补充,其测试用例主要来源于等价类的边界。
2、边界值与次边界值
- 边界值:规定范围的最左端和最右端值。
- 次边界值:紧邻边界值的外侧值。
- 选择规则:
- 若边界值是有效数据,则次边界值取无效值;
- 若边界值是无效数据,则次边界值取有效值。
3、规则举例(以“密码长度6~15位”为例)
| 有效范围 | 边界值 | 边界值有效性 | 次边界值 | 次边界值有效性 |
|---|---|---|---|---|
| [6, 15] | 6, 15 | ✅ 有效 | 5, 16 | ❌ 无效 |
| (6, 15) | 6, 15 | ❌ 无效 | 7, 14 | ✅ 有效 |
三、 正交试验设计(正交法)
1、基本概念
正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种高效试验设计方法。它通过正交表从全部水平组合中选取有代表性的部分组合进行试验,从而用较少的试验次数推断全面试验情况,找出最优组合。
目的:减少测试用例数目,用尽量少的用例覆盖输入的两两组合。
2、核心要素
- 因素(Factor):试验中考察的条件或变量(如:姓名、邮箱、密码等)。
- 水平(Level):每个因素可能的取值(如:填写、不填写)。
- 正交表(Orthogonal Array):用于安排试验的表格,计算行数的公式为:n=k*(m-1)+1.
- ( n ):试验次数(行数)
- ( k ):因素个数(列数)
- ( m ):每个因素的水平数
3、正交表的性质
- 均匀分散性:每一列中,不同数字(水平)出现的次数相等。
- 整齐可比性:任意两列中,数字的排列方式齐全且均衡。
4、正交表示例
以 ( L_4(2^3) ) 为例(4次试验,3个因素,每个因素2个水平):
| 试验号 | 因素1 | 因素2 | 因素3 |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 2 | 2 | 1 | 2 |
| 3 | 1 | 2 | 2 |
| 4 | 2 | 2 | 1 |
5、借助allparis工具来设计正交表
如何生成正交表可看我的这篇文章,里面介绍了详细的使用教程
allpairs工具来设计正交表教程
设计的正交表我整理以后,如下:

5.1根据正交表编写测试用例
1.填写姓名, 填写电子邮箱, 填写密码, 填写确认密码, 填写验证码
2.填写姓名 ,不填写电子邮箱,不填写密码,不填写确认密码,不填写验证码
3.不填写姓名,填写电子邮箱,不填写密码,填写确认密码,不填写验证码
4.不填写姓名,不填写电子邮箱,填写密码,不填写确认密码,填写验证码
5.不填写姓名,填写电子邮箱,填写密码,不填写确认密码,不填写验证
6 不填写姓名,不填写电子邮箱,填写密码,填写确认密码,填写验证码
补:都不填写
7.不填写姓名,不填写电子邮箱,不填写密码,不填写确认密码,不填写验证码
四、判定表法
1、基本概念
判定表法是一种表达逻辑判断的工具,用于处理多个输入条件组合决定多个输出动作的情况。它特别适用于有复杂逻辑规则的功能测试设计。
2、判定表法应用步骤
2.1 确认输入和输出条件
示例:管理员身份注册规则
- 输入条件:
- 账号中包含"admin"字符
- 通过内部链接进入注册页面
- 点击提交注册按钮
- 输出条件:
- 管理员角色
- 非管理员角色
2.2 找出输入输出条件之间的关系
输入条件:账号中包含"admin"字符的代号为 a
通过内部链接进入注册页面的代号为 b
点击提交注册按钮的代号为 c
输出条件:管理员角色的代号为1 非管理员角色的代号为0
根据业务逻辑确定各条件组合对应的结果:

2.3 构建判定表
| 条件组合编号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| 输入条件 | ||||||||
| 包含admin字符 | Y | N | Y | Y | N | Y | N | N |
| 内部链接进入 | N | Y | Y | Y | N | N | Y | N |
| 提交注册按钮 | Y | Y | N | Y | N | N | N | Y |
| 输出结果 | ||||||||
| 管理员角色 | Y | Y | N | Y | N | N | N | N |
| 非管理员角色 | N | N | Y | N | Y | Y | Y | Y |
2.4 根据判定表编写测试用例
- 包含admin字符,非内部链接进入,点击提交注册 → 成为管理员
- 不包含admin字符,内部链接进入,点击提交注册 → 成为管理员
- 包含admin字符,内部链接进入,未点击提交注册 → 非管理员
- 包含admin字符,内部链接进入,点击提交注册 → 成为管理员
- 不包含admin字符,非内部链接进入,未点击提交注册 → 非管理员
- 包含admin字符,非内部链接进入,未点击提交注册 → 非管理员
- 不包含admin字符,内部链接进入,未点击提交注册 → 非管理员
- 不包含admin字符,非内部链接进入,点击提交注册 → 非管理员
五、错误猜测法
1、基本概念
错误猜测法是基于测试人员对软件设计的理解、过往测试经验以及个人直觉,推测软件可能存在的缺陷,从而针对性地设计测试用例的方法。
2、方法特点
-
依赖因素:
- 对被测试软件需求的深入理解
- 对设计实现细节的把握
- 测试人员的经验和直觉
-
适用范围:
- 与当前流行的"探索式测试方法"思想一致
- 在敏捷开发模式下投入产出比高
- 广泛应用于各类软件测试
3、核心优势
- 高效性:无需繁琐的分析过程,直接针对可能问题点设计测试
- 经验驱动:充分利用测试人员的领域知识和测试经验
- 补充作用:可作为其他系统化测试方法的补充,发现非预期缺陷
4、应用场景
- 时间紧迫需要快速设计测试用例时
- 作为其他测试方法的补充
- 针对特定复杂功能或历史问题较多的模块
- 探索性测试和敏捷开发环境
六、场景法
1、基本概念
场景法是一种通过模拟事件触发的情景(场景)来测试系统功能或业务流程的方法。软件通常由事件触发控制流程,不同的事件触发顺序和结果构成“事件流”,场景法即围绕这些事件流展开测试。
2、工作原理
- 描述场景:通过模拟特定场景下的事件触发,观察系统动作与结果,以验证功能是否正确或发现需求问题。
- 流程覆盖:测试通常从 基本流(正常流程)开始,再逐步覆盖 备用流(备选、异常等流程)。
- 路径遍历:通过遍历所有基本流和备用流,完成对整个场景的测试。
3、主要场景类型
- 正常的用例场景
- 备选的用例场景
- 异常的用例场景
- 假定推测的场景
4、应用方法示例(以购物流程为例)
- 基本流:正常选择商品 → 购买 → 完成
- 备用流:商品不合适 → 重新选择;价格不符 → 放弃购买;无合适商品 → 继续寻找等。

5、总结
场景法通过构建真实的使用情景,系统性地覆盖正常、异常和备选路径,有助于更全面地验证软件需求与功能,提升测试效果。
更多推荐
所有评论(0)