一、等价类划分法
有效等价类:程序规格说明有意义,合理的输入数据
无效等价类:程序规格说明无意义,不合理的输入数据
一条测试用例尽可能多的覆盖未被覆盖的有效等价类;
一条测试用例只能覆盖一个无效等价类;
- 等价类细节
(1)长度
(2)类型
(3)组成规则
(4)是否为空
(5)是否区分大小写
(6)是否重复
(7)是否去除空格
适用场景:需要有大量测试数据输入,但是没法穷举测试的地方
典型代表:页面的输入框测试
二、边界值
作用:(有序、有范围)等价类的补充
补充:考虑数据类型的边界
如 int 类型 占4个字节 即 32bit 取值范围[-231, 231-1]
上点:边界上的点
内点:区间内的点
离点:离边界值最近且与上点不属于同一等价类的点(对于小数,没有离点,不用取)
规则的几种情况:
1.规则是区间:
按上点、内点、离点取
2.规则是取值的个数:
取最小、最大、中间个数
3.规则是a~z序列:
取a、z
4.规则是集合:
取一个集合内的,取一个集合外的
等价类的没个边界值都要作为测试条件。
三、因果图
因:输入条件
果:输出条件、输出结果
适用于输入条件之间有相互制约、相互依赖的情况
-
条件和结果关系
条件和结果的关系
恒等:条件成立,结果成立
非: 条件成立,结果不成立
或: 只要有一个条件成立,结果成立
与: 必须所有条件都成立,结果成立
-
条件之间关系
条件之间关系 -
因果图法基本步骤
因果图法基本步骤
四、判定表
- 判定表组成
条件桩:问题的所有条件
动作桩:问题的所有输出
条件项:针对条件桩的取值
动作项:条件项的各种取值情况下的输出结果 - 步骤
(1)列出所有条件和动作桩
(2)填写条件项
(3)填写动作项
(4)简化判定表
五、场景法
模拟用户操作软件时的场景,主要用于测试系统的业务流程。
基本流:按照正确业务流程实现的一条操作路径(模拟正确的操作流程)
备选流:导致程序出现错误的操作流程(模拟错误的操作流程)
注意:还要补充一些异常情况
冒烟测试主要采用场景法。
六、流程分析法
针对流程测试的测试子项进行设计。
适用于有先后顺序的测试,常用语业务流程测试、安装流程测试等。
一般每各流程用一个测试用例验证。
七、错误推断法
八、正交法
正交表:一种特制的表,一般的正交表记为:

n:表的行数,也就是需要测试的组合次数
k:表的列数,表示因素的个数
m:没个因素包含的取值个数(各因素的水平数)
k个因素,没个因素有m和取值,n个需要测试的组合数
叫k因素m水平
步骤:
(1)根据所策程序中因素的个数以及没个因素的取值个数,选取一个合适的正交表
(2)把因素及其取值列举出来,并对其进行编号
(3)把因素及其取值应收到正交表中
(4)根据映射好的正交排列表编写测试用例-
混合正交表
很多情况都是各因素的水平数不同,此时需要使用混合正交表工具allpairs来生成正交表。
使用步骤:
(1)取值表,不需要编号,列出数据即可
取值表
(2)复制表格中的数据到一个新建的txt文档中(如test.txt),保存到allpairs文件夹中
(3)打开控制台,进入allpairs文件夹中,输入
allpairs.exe test.txt>newTest.txt
newTest.txt中就是生成的混合正交表,~表示取值无关紧要。
测试用例方法的选择
- 具有输入功能,但输出之间没有组合关系 → 等价类划分
- 输入有边界,如长度、类型 → 边界值补充
- 多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖和制约关系 → 因果图和判定表
- 配置类软件,组合比较多,用最少的测试用例获得最大测试覆盖率 → 正交法
- 多个功能的组合测试 → 流程图和场景法
- 补充测试用例 → 错误推断法



