二、测试设计方法(黑盒测试设计方法;白盒测试设计方法)
1、等价类划分法
1.1等价类划分法概念
将输入(输出)域划分成若干个子集合,从划分的子集合中选取代表数据,如果选取的数据测试没有问题,就认为未被选取的数据测试效果是等价的。
1.2相关术语
- 有效等价类:正确的、合法的、有意义的输入
- 无效等价类:错误的、非法的、无意义的输入
1.3等价类划分原则
1、如果输入(输出)是一个取值范围或者值的个数,则划分成一个有效等价类和两个无效等价类。
举例
取值范围 |
某个商场招聘营业员,年龄在18~45之间 |
1个有效:18~45 2个无效: 45 |
值的个数 |
注册某 站输入18位身份证 码 |
1个有效:18位 2个无效:18位 |
2、如果输入(输出)是一个集合或者必须如何的条件,则划分成一个有效等价类和一个无效等价类。
举例
一个集合 |
美国对中国大陆开放自由行的城市(上海;北京;广州;深圳;杭州;南京;西安;厦门;福州;沈阳) |
1个有效:集合内 1个无效:集合外 |
必须如何的条件 |
书的名字必须在书名 之内 |
1个有效:书名 做说明 1个无效:非书名 说明 |
3、如果输入(输出)是一个逻辑布尔量,则划分成一个有效等价类和一个无效等价类。
举例
逻辑布尔量 |
某家商场二楼卫生间(男蓝色西装;女红色裙子) |
女红色裙子 1个有效:女性 1个无效:男性 |
4、如果输入(输出)已经划分好等价类,针对有效等价类不同的取值处理方式和结果不同,则细分成多个有效等价类和一个无效等价类。
举例
有效等价类取值不同 |
PMP认证考试答对135题合格获得证书(针对获得证书135~150:合格;151~170:M;171~190:E;191~200:G) |
1个无效:答对少于135题 有效:答对135题以上 135~150 151~170 171~190 191~200 |
5、如果输入(输出)要同时满足多个要求,则划分成一个有效等价类和多个无效等价类。
满足多个条件 |
微信密码修改6~10位&首字符大写字母&包含大小写字母和数字 |
1个有效:所有条件都满足 多个无效: >10位 不含数字 不含小写字母 首字符非大写 |
1.4等价类划分法的使用步骤
- 将软件需求规格说明书划分成需求片段;
- 分析需求片段,找出输入条件;
- 分析每个输入条件,结合等价类划分原则进行等价类划分;
- 为了防止测试遗漏,为划分的等价类编 ;
- 从划分的等价类中选取代表数据进行测试(注意:一条测试用例尽量覆盖多个有效等价类;一条测试用例只覆盖一个无效等价类);直到所有的等价类全部被覆盖;
- 结合测试用例的写作规范生成最终的测试用例。
案例:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:
日期由6位数字组成,前4位表示年,后2位表示月。
输入条件 |
有效等价类 |
无效等价类 |
日期的格式 |
6位数字(11) |
6位;(22)非数字(23) |
年份范围 |
1990~2049(12) |
2049(25) |
月份范围 |
01~12(13) |
12(27) |
201904:(11;12;13)
20191:(21)
2019004:(22)
20191J:(23)
189904:(24)
291004:(25)
201900:(26)
201915:(27)
测试用例编 |
|
测试项 |
|
测试标题 |
|
优先级 |
|
预置条件 |
|
输入 |
|
操作步骤 |
|
预期结果 |
练习:一个程序读入3个(A;B;C)整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是普通的、是等腰的、还是等边的。
1.5特点和适用范围
2、边界值分析法
2.1边界值分析法的概念
边界值分析法是对等价类划分法的补充,大量的经验数据表明边界是问题多发区,如果边界测试没有问题,就认为内部区域发生问题的概率较小。
2.2相关术语
- 上点:落在边界上的点叫做上点。
- 离点:离边界最近的点叫做离点(如果是闭区间离点落在边界外;如果是开区间离点落在边界内)。
- 内点:边界内的任意一个点。
案例 |
上点 |
离点 |
内点 |
商场招营业员18~45周岁(包含18和45) |
18;45(有效) |
17;46(无效) |
35 |
某家软件公司招测试经理30~50周岁(不包含30和50) |
30;50(无效) |
31;49(有效) |
35 |
2.3边界值数据选取原则
1、如果输入(输出)是一个取值范围或者值的个数,则以边界和边界附近的值作为时用力优先选取。
举例
取值范围 |
某个商场招聘营业员,年龄在18~45之间 |
18;45;17;19 |
值的个数 |
注册某 站输入18位身份证 码 |
17位;18位;19位 |
2、如果输入(输出)是一个有序的集合,则以第一个元素和最后一个元素作为测试用例数据优先选取。
举例
一个有序集合 |
ZX05期班30名同学第三次作业成绩排名 |
第一名;最后一名 |
3、如果输入(输出)的值的个数是个取值范围,则以最大个数、最大个数+1、最小个数、最小个数-1作为测试用例数据优先选取。
举例
值的个数是个取值范围 |
微信密码修改6~10位 |
10位;11位;6位;5位 |
4、如果内部数据结构,则以极限值作为测试数据优先选取。
内部数据结构 |
栈(10个数据) |
10个;空 |
2.4边界值分析法的使用步骤
(1)将软件需求规格说明书划分成需求片段;
(2)分析需求片段,找出输入条件;
(3)分析每个输入条件,结合等价类划分原则进行等价类划分;
(4)为了防止测试遗漏,为划分的等价类编 ;
(5)分析划分的等价类,是否需要边界值补充(度量衡;方位;有序的集合)
(6)结合边界值数据优先选取原则确定边界值数据,边界值是测试用例优先级相对高;
(7)将确定的边界值数据填写在测试用例写作规范中。
案例:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:
日期由6位数字组成,前4位表示年,后2位表示月。
输入条件 |
有效等价类 |
无效等价类 |
日期的格式 |
6位数字(11) 6位 |
6位;(22)非数字(23)5位;7位 |
年份范围 |
1990~2049(12) 1990;2049 |
2049(25) 1989;2050 |
月份范围 |
01~12(13) 01;12 |
12(27) 00;13 |
2.5特点和适用范围
- 简单容易理解;应用比较广泛;效率高;效果一般。
- 功能测试;GUI测试;配置测试;性能测试
- 不测试各种条件取值的组合
- 等价类划分法练习
-
手机欠费或者停机则不能主被叫
输入条件
有效等价类
无效等价类
欠费
欠(11)
不欠(21)
停机
停(12)
不停(22)
手机欠费并且停机,手机不能主被叫(11;12)
手机欠费不停机,手机不能主被叫(21)
手机不欠费停机,手机不能主被叫(22)
够主被叫:不欠费&不停机(21;22)—不适合用等价类
-
这次文章就到这里了,下一篇文章【判定表法】
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!