软件测试之---测试设计方法
Posted 一个处女座的测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试之---测试设计方法相关的知识,希望对你有一定的参考价值。
二、测试设计方法(黑盒测试设计方法;白盒测试设计方法)
1、等价类划分法
1.1等价类划分法概念
将输入(输出)域划分成若干个子集合,从划分的子集合中选取代表数据,如果选取的数据测试没有问题,就认为未被选取的数据测试效果是等价的。
1.2相关术语
- 有效等价类:正确的、合法的、有意义的输入
- 无效等价类:错误的、非法的、无意义的输入
1.3等价类划分原则
1、如果输入(输出)是一个取值范围或者值的个数,则划分成一个有效等价类和两个无效等价类。
举例
取值范围 | 某个商场招聘营业员,年龄在18~45之间 | 1个有效:18~45 2个无效: <18;>45 |
值的个数 | 注册某网站输入18位身份证号码 | 1个有效:18位 2个无效:<18位;>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个有效:所有条件都满足 多个无效:<6位 >10位 不含数字 不含小写字母 首字符非大写 |
1.4等价类划分法的使用步骤
- 将软件需求规格说明书划分成需求片段;
- 分析需求片段,找出输入条件;
- 分析每个输入条件,结合等价类划分原则进行等价类划分;
- 为了防止测试遗漏,为划分的等价类编号;
- 从划分的等价类中选取代表数据进行测试(注意:一条测试用例尽量覆盖多个有效等价类;一条测试用例只覆盖一个无效等价类);直到所有的等价类全部被覆盖;
- 结合测试用例的写作规范生成最终的测试用例。
案例:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:
日期由6位数字组成,前4位表示年,后2位表示月。
输入条件 | 有效等价类 | 无效等价类 |
日期的格式 | 6位数字(11) | <6位;(21)>6位;(22)非数字(23) |
年份范围 | 1990~2049(12) | <1990;(24)>2049(25) |
月份范围 | 01~12(13) | <01;(26)>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位;(21)>6位;(22)非数字(23)5位;7位 |
年份范围 | 1990~2049(12) 1990;2049 | <1990;(24)>2049(25) 1989;2050 |
月份范围 | 01~12(13) 01;12 | <01;(26)>12(27) 00;13 |
2.5特点和适用范围
- 简单容易理解;应用比较广泛;效率高;效果一般。
- 功能测试;GUI测试;配置测试;性能测试
- 不测试各种条件取值的组合
- 等价类划分法练习
-
手机欠费或者停机则不能主被叫
输入条件
有效等价类
无效等价类
欠费
欠(11)
不欠(21)
停机
停(12)
不停(22)
手机欠费并且停机,手机不能主被叫(11;12)
手机欠费不停机,手机不能主被叫(21)
手机不欠费停机,手机不能主被叫(22)
?能够主被叫:不欠费&不停机(21;22)---不适合用等价类
-
这次文章就到这里了,下一篇文章【判定表法】
以上是关于软件测试之---测试设计方法的主要内容,如果未能解决你的问题,请参考以下文章