#3.软件测试方法,本节主要是黑盒测试:等价类划分

在这里插入图片描述
黑盒: 等价类划分、边界值分析、流程图、错误推测法等……
白盒: 静态(代码审查……)、动态(边界值测试、逻辑驱动测试……)

黑盒测试

包括:等价类划分法、边界值分析法、因果图法、决策表法、错误推测法、正交试验法、场景法。

1、黑盒测试的目的

–功能错误或者遗漏;
–界面错误,或者不美观;
–外部信息访问错误;
–初始化和终止错误;
–接口上,能否正确接收输入数据,并产生正确的输出信息;
–性能错误。

2.等价类划分法

等价类划分法: 依据需求对输入的范围进行细分,然后再分出的每一个区域内选取一个代表性的测试数据开展测试。
{
1.有效等价类
2.无效等价类
}
比如:软件需求是,计算两个1-100之间整数的和
那么:有效等价类则是x(x属于1-100),无效等价类则是y(y<1或y>100或y不是整数或y不是数字等等……)
因此,在设计测试用例时:
图;

测试用例表

用例编号所属等价类加数1加数2结果
12123
210-1wrong input
33111112wrong input
441.11.2wrong input
55abwrong input
66@#wrong input
77空格空格wrong input
88wrong input
…………………………

等价类划分法的步骤:

1.列出等价类表,为等价类表中的每一个等价类分别规定一个唯一编号。

2.设计一个新的测试用例,是他尽可能多的覆盖尚未覆盖到的有效等价类。(重复步骤2直至所有的有效等价类被覆盖)

3.设计一个新的用例,仅覆盖一个尚未覆盖到的无效等价类。(重复3直至所有无效类被全部覆盖)



深入讨论……

等价类测试用例的分类 弱和强、健壮与一般


单缺陷假设与多缺陷假设产生弱等价类与强等价类之分;
是否进行无限小数据的处理则产生了健壮与一般等价类之分。

关系是对应的:单缺陷->弱;多缺陷->强;处理无效数据->健壮;不处理无效数据->一般;
所以组合起来就是2*2=4种: 强一般;弱一般;强健壮;弱健壮;

不细说了,多缺陷的话,将每个变量的有效等价类做笛卡尔积,测试用例需要覆盖笛卡尔积的每个元素。
还拿1-100整数和例子来说吧。
加数1和加数2可以作为两个可能的缺陷。


比较直观的方式:看图!
在这里插入图片描述

在这里插入图片描述
另外话说这个思考问题,测试用例的数量不应该是和每个变量的可能取值相关的么?假如有三个变量,可能的取值分贝时3种,3种,2种,那数量就是3*3*2=18.种。

在这里插入图片描述
在这里插入图片描述

那么,该如何选择等价类测试的类型呢?

1)弱形式不如对应的强形式的测试全面。
2)如果实现语言是强类型,则没有必要使用健壮形式的测试。
3)如果错误条件非常重要,则进行健壮形式的测试。
4)强等价类测试假设变量是独立的,相应的测试用例相乘会引起冗余问题。如果存在依赖关系,则常常会生成错误测试用例。

下面举几个简单例题:

1.qq登录器需要输入正确的账号(暂不考虑密码)
*有效等价类无效等价类
qq账号1、长度在6-10位之间3、长度小于6
4、长度大于10
2、数据类型是自然数5、负数
6、小数
7、英文字母
8、字符
9、中文
10、空
……
用例编号所属等价类账号结果
11、220200606right
2320wrong input
3412345678910wrong input
……………………
2.卖保险的保险费计算程序。

某保险公司人寿保险的保费计算方式为:
保险费=投保额*保险费率
其中,保险费率根据投保人的个人信息的不同(年龄、性别、婚姻状况、抚养人数)而有所不同。体现在不同的上述条件下对应的点数设定不同,10点及10点以上保险费率为0.6%,10点一下保险费率为0.1%,具体规则见下表。
保险费率规则
需求分析:谁是输入、谁是输出?
输入:投保人个人信息+投保额
中间输出:投保率
最终输出:保险费
输入有几个变量?
年龄;性别;婚姻状况;抚养人数;4变量。
等价类划分测试用例还是采用的(多缺陷)健壮(处理无效数据)等价类测试比较合适。
因为没有不留余漏的全部覆盖,所以是弱类型。
在这里插入图片描述
设计测试用例
在这里插入图片描述

3.三角形问题

主要想表达的意思:等价类划分的角度和方式不唯一。
以不同的角度划分等价类:
输出值域等价类
输入条件(数据范围)的等价类
以“整数相等”关系划分的等价类
以两边之和与第三边之间的关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他习题

电话号码
某城市电话号码由三部分组成,分别是:
地区码—— 空白或4位数字;
前 缀——为三位数字,但不能为“0”,“1”;
后 缀——4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。请用强一般等价类方法进行测试,设计测试用例。

等价类划分表

* 条件有效等价类无效等价类
地区码1、空白
2、四位数字
3、非四位的数字
4、非数字
前缀5、不含0或1的三位数字6、含0或1的3位数字
7、非三位
8、非数字
后缀9、四位数字10、非四位的数字
11、非数字

其实我觉得这个等价类可以再细分,亦可以再粗略。

强一般等价类测试用例表

用例编号覆盖范围电话号预期结果
11、5、9+234+0000接收
22、5、90000+234+0000接收
33000+234+0000拒绝
44asd+234+0000拒绝
560000+111+0000拒绝
670000+2345+0000拒绝
780000+asd+0000拒绝
8100000+234+000拒绝
9110000+234+asdf拒绝
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值