发布时间:2019-12-31责任编辑:满帅 浏览:2471
等价类划分法:
1、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。(不考虑2月的问题)
1)划分等价类并编号,下表等价类划分的结果
输入等价类 | 有效等价类 | 无效等价类 |
日期的类型及长度 | ①6位数字字符 | ②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 |
年份范围 | ⑤在1990~2049之间 | ⑥小于1990 ⑦大于2049 |
月份范围 | ⑧在01~12之间 | ⑨等于00 ⑩大于12 |
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
测试数据 期望结果 覆盖的有效等价类
200211 输入有效 ①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
95June 无效输入 ②
20036 无效输入 ③
2001006 无效输入 ④
198912 无效输入 ⑥
200401 无效输入 ⑦
200100 无效输入 ⑨
200113 无效输入 ⑩
边界值分析法:
1、测试计算平方根的函数
--输入:实数
--输出:实数
--需求说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
A. 等价类划分:
I.可以考虑作出如下划分:
a、输入 (i)<0 和 (ii)>=0
b、输出 (a)>=0 和 (b) Error
II.测试用例有两个:
a、输入4,输出2。对应于 (ii) 和 (a) 。
b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。
B. 边界值分析:
划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:
a、输入 {最小负实数}
b、输入 {绝对值很小的负数}
c、输入 0
d、输入 {绝对值很小的正数}
e、输入 {最大正实数}
2、现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

1) 标题:这一组只有一个记录,其内容为输出成绩报告的名字。
2) 试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。
3) 每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。然后是学生乙的答卷记录。
4) 学生人数不超过200,试题数不超过999。
5) 程序的输出有4个报告:
a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告。
d)试题分析报告。按试题号排序,列出各题学生答对的百分比。
解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。

输出条件及相应的测试用例表。

因果图法:
1、 某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解答:
1) 根据题意,原因和结果如下:
原因:
c1——第一列字符是A;
c2——第一列字符是B;
c3——第二列字符是一数字。
结果:
E1/21——修改文件;
E2/22 ——给出信息L;
E3/23——给出信息M。
2) 其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

3) 根据因果图建立判定表。

表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。
判定表:
1. 问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立判定表。
解答:
1) 确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。
2) 列出所有的条件茬和动作桩:

3) 填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是: Y N Y N Y N Y N,第二行是: Y Y N N Y Y N N等等。
4) 填入动作桩和动作顶。这样便得到形如图的初始判定表。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
条件 | 功率大于50马力吗? | Y | Y | Y | Y | N | N | N | N |
维修记录不全吗? | Y | Y | N | N | Y | Y | N | N | |
运行超过10年吗? | Y | N | Y | N | Y | N | Y | N | |
动作 | 进行优先处理 | x | x | X | X | X | |||
作其他处理 | X | x | x | ||||||
初始判定表
5) 化简,合并相似规则后得到图。
1 | 2 | 3 | 4 | 5 | ||
条件 | 功率大于50马力吗? | Y | Y | Y | N | N |
维修记录不全吗? | Y | N | N | - | - | |
运行超过10年吗? | - | Y | N | Y | N | |
动作 | 进行优先处理 | x | x | X | ||
作其他处理 | x | x | ||||
正交分析法:
假设查询某个人时有三个查询条件:
1、根据“姓名”进行查询
2、根据“身份证号码”查询
3、根据“手机号码”查询

考虑查询条件要么不填写,要么填写,此时可用正交表进行设计变量映射
姓 名:0à填写,1à不填写
身份证号:0à填写,1à不填写
手机号码: 0à填写,1à不填写
选择合适正交表L4(2 3)


编写测试用例:
1:填写姓名、填写身份证号、填写手机号;
2:填写姓名、不填身份证号、不填手机号;
3:不填姓名、填写身份证号、不填手机号;
4:不填姓名、不填身份证号、填写手机号;
增补测试用例
5:不填姓名、不填身份证号、不填手机号
测试用例减少数: 8 -> 5
例2:再拿PowerPoint软件打印功能作为例子,希望能为大家更好地理解给方法的具体应用
假设功能描述如下:
· 打印范围分:全部、当前幻灯片、给定范围 共三种情况;
· 打印内容分:幻灯片、讲义、备注页、大纲视图 共四种方式;
· 打印颜色/灰度分: 颜色、灰度、黑白 共三种设置;
· 打印效果分:幻灯片加框和幻灯片不加框两种方式。
因素状态表:3*4*3*2
状态/因素 | A打印范围 | B打印内容 | C打印颜色/灰度 | D打印效果 |
0 | 全部 | 幻灯片 | 颜色 | 幻灯片加框 |
1 | 当前幻灯片 | 讲义 | 灰度 | 幻灯片不加框 |
2 | 给定范围 | 备注页 | 黑白 | |
3 | 大纲视图 |
我们先将中文字转换成字母,便于设计。得到:
因素状态表:
状态/因素 | A | B | C | D |
0 | A1 | B1 | C1 | D1 |
1 | A2 | B2 | C2 | D2 |
2 | A3 | B3 | C3 | |
3 | B4 |
我们分析一下:
被测项目中一共有四个被测对象,每个被测对象的状态都不一样。
选择正交表:
1、表中的因素数>=4
2、表中至少有4个因素的水平数>=2
3、行数取最少的一个
最后选中正交表公式:
L16(45)
正交矩阵为:
1 | 2 | 3 | 4 | 5 | |
1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 1 | 1 | 1 | 1 |
3 | 0 | 2 | 2 | 2 | 2 |
4 | 0 | 3 | 3 | 3 | 3 |
5 | 1 | 0 | 1 | 2 | 3 |
6 | 1 | 1 | 0 | 3 | 2 |
7 | 1 | 2 | 3 | 0 | 1 |
8 | 1 | 3 | 2 | 1 | 0 |
9 | 2 | 0 | 2 | 3 | 1 |
10 | 2 | 1 | 3 | 2 | 0 |
11 | 2 | 2 | 0 | 1 | 3 |
12 | 2 | 3 | 1 | 0 | 2 |
13 | 3 | 0 | 3 | 1 | 2 |
14 | 3 | 1 | 2 | 0 | 3 |
15 | 3 | 2 | 1 | 3 | 0 |
16 | 3 | 3 | 0 | 2 | 1 |
用字母替代正交矩阵:
1 | 2 | 3 | 4 | 5 | |
1 | A1 | B1 | C1 | D1 | 0 |
2 | A1 | B2 | C2 | D2 | 1 |
3 | A1 | B3 | C3 | 2 | 2 |
4 | A1 | B4 | 3 | 3 | 3 |
5 | A2 | B1 | C2 | 2 | 3 |
6 | A2 | B2 | C1 | 3 | 2 |
7 | A2 | B3 | 3 | D1 | 1 |
8 | A2 | B4 | C3 | D2 | 0 |
9 | A3 | B1 | C3 | 3 | 1 |
10 | A3 | B2 | 3 | 2 | 0 |
11 | A3 | B3 | C1 | D2 | 3 |
12 | A3 | B4 | C2 | D1 | 2 |
13 | 3 | B1 | 3 | D2 | 2 |
14 | 3 | B2 | C3 | D1 | 3 |
15 | 3 | B3 | C2 | 3 | 0 |
16 | 3 | B4 | C1 | 2 | 1 |
我们看到:
第一列水平值为3、第三列水平值为3、第四列水平值3、2都需要由各自的字母替代。
1 | 2 | 3 | 4 | 5 | |
1 | A1 | B1 | C1 | D1 | 0 |
2 | A1 | B2 | C2 | D2 | 1 |
3 | A1 | B3 | C3 | D1 | 2 |
4 | A1 | B4 | C1 | D2 | 3 |
5 | A2 | B1 | C2 | D1 | 3 |
6 | A2 | B2 | C1 | D2 | 2 |
7 | A2 | B3 | C2 | D1 | 1 |
8 | A2 | B4 | C3 | D2 | 0 |
9 | A3 | B1 | C3 | D2 | 1 |
10 | A3 | B2 | C3 | D1 | 0 |
11 | A3 | B3 | C1 | D2 | 3 |
12 | A3 | B4 | C2 | D1 | 2 |
13 | A1 | B1 | C1 | D2 | 2 |
14 | A2 | B2 | C3 | D1 | 3 |
15 | A3 | B3 | C2 | D2 | 0 |
16 | A1 | B4 | C1 | D1 | 1 |
第五列去掉没有意义。通过分析,由于四个因素里有三个的水平值小于3,所以从第13行到16行的测试用例可以忽略。
那么这样的话,就可以有12个测试用例了:
1、
测试用例编号 | PPT—ST—FUNCTION—PRINT—001 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的幻灯片,有颜色,加框 |
重要级别 | 高 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“全部”; 3、打印内容选择“幻灯片”; 4、颜色/灰度选择“颜色”; 5、在“幻灯片加框”前打勾; 6、点击“确定”。 |
预期输出 | 打印出全部幻灯片,有颜色且已加框。 |
2、
测试用例编号 | PPT—ST— FUNCTION—PRINT—002 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的幻灯片为讲义,灰度,不加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“全部”; 3、打印内容选择“讲义”; 4、颜色/灰度选择“灰度”; 5、点击“确定”。 |
预期输出 | 打印出全部幻灯片为讲义,灰度且不加框。 |
3、
测试用例编号 | PPT—ST—FUNCTION—PRINT—003 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的备注页,黑白,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“全部”; 3、打印内容选择“备注页”; 4、颜色/灰度选择“黑白”; 5、在“幻灯片加框”前打勾; 6、点击“确定”。 |
预期输出 | 打印出全部备注页,黑白且已加框。 |
4、
测试用例编号 | PPT—ST—FUNCTION—PRINT—004 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A全部的大纲视图,黑白 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“全部”; 3、打印内容选择“大纲视图”; 4、颜色/灰度选择“黑白”; 5、点击“确定”。 |
预期输出 | 打印出全部大纲视图,黑白 |
5、
测试用例编号 | PPT—ST—FUNCTION—PRINT—005 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A当前幻灯片,灰度,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“当前幻灯片”; 3、打印内容选择“幻灯片”; 4、颜色/灰度选择“灰度”; 5、在“幻灯片加框”前打勾; 6、点击“确定”。 |
预期输出 | 打印出当前幻灯片,灰度且已加框。 |
6、
测试用例编号 | PPT—ST—FUNCTION—PRINT—006 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A当前幻灯片为讲义,黑白,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“当前幻灯片”; 3、打印内容选择“讲义”; 4、颜色/灰度选择“黑白”; 5、在“幻灯片加框”前打勾; 6、点击“确定”。 |
预期输出 | 打印出当前幻灯片为讲义,黑白且已加框。 |
7、
测试用例编号 | PPT—ST—FUNCTION—PRINT—007 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A当前幻灯片的备注页,有颜色,不加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“当前幻灯片”; 3、打印内容选择“备注页”; 4、颜色/灰度选择“颜色”; 5、点击“确定”。 |
预期输出 | 打印出当前幻灯片的备注页,有颜色且不加框。 |
8、
测试用例编号 | PPT—ST—FUNCTION—PRINT—008 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A当前幻灯片的大纲视图,有颜色 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“当前幻灯片”; 3、打印内容选择“大纲视图”; 4、颜色/灰度选择“颜色”; 5、点击“确定”。 |
预期输出 | 打印出当前幻灯片为讲义,黑白且已加框。 |
9、
测试用例编号 | PPT—ST—FUNCTION—PRINT—009 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A给定范围的幻灯片,黑白,不加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“幻灯片”; 3、打印内容选择“幻灯片”; 4、颜色/灰度选择“黑白”; 5、点击“确定”。 |
预期输出 | 打印出给定范围的幻灯片,黑白且不加框。 |
10、
测试用例编号 | PPT—ST—FUNCTION—PRINT—010 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A给定范围的幻灯片为讲义,有颜色,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“幻灯片”; 3、打印内容选择“幻灯片”; 4、颜色/灰度选择“颜色”; 5、点击“确定”。 |
预期输出 | 打印出给定范围的幻灯片为讲义,有颜色且加框。 |
11、
测试用例编号 | PPT—ST—FUNCTION—PRINT—011 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A给定范围的幻灯片的备注页,灰度,加框 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“幻灯片”; 3、打印内容选择“备注页”; 4、颜色/灰度选择“灰度”; 5、在“幻灯片加框”前打勾; 6、点击“确定”。 |
预期输出 | 打印出给定范围的幻灯片的备注页,灰度且加框。 |
12、
测试用例编号 | PPT—ST—FUNCTION—PRINT—012 |
测试项目 | 测试powerpoint打印功能 |
测试标题 | 打印PowerPoint文件A给定范围的幻灯片的大纲视图,灰度 |
重要级别 | 中 |
预置条件 | PowerPoint文件A已被打开,电脑主机已连接有效打印机 |
输入 | 文件A:D:系统测试.ppt |
操作步骤 | 1、打开打印界面; 2、打印范围选择“幻灯片”; 3、打印内容选择“大纲视图”; 4、颜色/灰度选择“灰度”; 5、点击“确定”。 |
预期输出 | 打印出给定范围的幻灯片的大纲视图,灰度 |
场景法:
下图所示是ATM例子的流程示意图。

1. 场景设计:下表所示是生成的场景。
场景1——成功提款 | 基本流 | |
场景2——ATM内没有现金 | 基本流 | 备选流2 |
场景3——ATM内现金不足 | 基本流 | 备选流3 |
场景4——PIN有误(还有输入机会) | 基本流 | 备选流4 |
场景5——PIN有误(不再有输入机会) | 基本流 | 备选流4 |
场景6——账户不存在/账户类型有误 | 基本流 | 备选流5 |
场景7——账户余额不足 | 基本流 | 备选流6 |
3. 用例设计
对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。
TCID | 场景/条件 | PIN | 账号 | 输入(或选择)的金额 | 账面 金额 | ATM内的金额 | 预期结果 |
CW1 | 场景1:成功提款 | V | V | V | V | V | 成功提款 |
CW2 | 场景2:ATM内没有现金 | V | V | V | V | I | 提款选项不可用,用例结束 |
CW3 | 场景3:ATM内现金不足 | V | V | V | V | I | 警告消息,返回基本流步骤6,输入金额 |
CW4 | 场景4:PIN有误(还有不止一次输入机会) | I | V | n/a | V | V | 警告消息,返回基本流步骤 4,输入 PIN |
CW5 | 场景4:PIN有误(还有一次输入机会) | I | V | n/a | V | V | 警告消息,返回基本流步骤 4,输入 PIN |
CW6 | 场景4:PIN有误(不再有输入机会) | I | V | n/a | V | V | 警告消息,卡予保留,用例结束 |
4. 数据设计
一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。
测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如下表所示:
TCID | 场景/条件 | PIN | 账号 | 输入(或选择)的金额(元) | 账面 | ATM内的金额(元) | 预期结果 |
CW1 | 场景1:成功提款 | 4987 | 809-498 | 50.00 | 500.00 | 2 000 | 成功提款。账户余额被更新为450.00 |
CW2 | 场景2:ATM内没有现金 | 4987 | 809-498 | 100.00 | 500.00 | 0.00 | 提款选项不可用,用例结束 |
CW3 | 场景3:ATM内现金不足 | 4987 | 809-498 | 100.00 | 500.00 | 70.00 | 警告消息,返回基本流步骤6,输入金额 |
CW4 | 场景4:PIN有误(还有不止一次输入机会) | 4978 | 809-498 | n/a | 500.00 | 2 000 | 警告消息,返回基本流步骤4,输入PIN |
CW5 | 场景4:PIN有误(还有一次输入机会) | 4978 | 809-498 | n/a | 500.00 | 2 000 | 警告消息,返回基本流步骤4,输入PIN |
CW6 | 场景4:PIN有误(不再有输入机会) | 4978 | 809-498 | n/a | 500.00 | 2 000 | 警告消息,卡予保留,用例结束 |
外包组供稿