黑盒测试用例测试方法

本文介绍了黑盒测试中的等价类划分法和边界值分析法,强调了边界值在测试中的重要性。通过微信红包的例子,详细解释了如何划分有效和无效等价类,并提供了测试用例设计的原则。此外,还讨论了场景法和错误推测法在测试用例设计中的应用,强调了测试用例设计的综合策略和覆盖标准。

黑盒测试用例设计方法
一、等价类划分法
等价类划分法是一种典型的、重要的黑盒测试方法,是指某个输入域的子集合。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。
等价类划分有效等价类和无效等价类
例如:微信红包的例子【0.01-200】
按数据范围划分:
有效的:0.01-200(1) 无效的:小于0.01(2
大于200(3
0.01-200区间小数点后超过2位的值 (4

按数据类型组成划分:
有效:数字 (5) 无效:非数字类型,英文,中文,特殊字符,html标签...(6

按是否为空
有效:不为空(7) 无效:为空(8
等价类划分法用例设计原则
1)划分有效及无效等价类,为每一个等价类规定一个唯一的编号
2)设计一个新的测试用例数据,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止
3)设计一个新的测试用例数据,使其仅覆盖一个尚未覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止

二、边界值分析法
边界值最有可能出错
1、定义:边界值分析法是对等价类划分法的补充,边界值一般都是从等价类的边缘去寻找。边界值分析的基本思路:正好等于、刚刚大于、刚刚小于边界值作为测试数据。0.01、200
注意:0是一个特殊值,我们在考虑边界值的时候同时也要考虑这个特殊值。负数
2、边界值的作用:人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误!
3、举例子:
eg:比如我们生活中大家所熟悉的微信红包:最小金额0.01,最大金额200元
边界值:0,0.01,0.02,199.99,200,200.01
特殊值:负数
测试点测试数据测试覆盖边界值
输入正确的红包金额【0.01,200】10(1)(5)(7)0.01,0.02,199.99,200
红包输入小于0.01的金额0(2)0
红包金额输入大于200的金额201(3)200.01
0.01-200区间小数点后超出2位的值150.0001(4) 
非数字类型、英文、中文、特殊字符、html标签¥5,$5,5元(6) 
为空 (8) 
eg:一个输入文件应包括2-255条记录
特殊值:1,2,3,254,255,256 2-255(有效区间、无效区间)
特殊值:0
等价类划分法和边界值分析法常见运用场景
1)输入规定的取值范围或值的个数的情况(类似min<x<max、min<x、max>x);
比如用户名长度、红包金额数值输入范围
2)在输入条件是true和false两种状态的情况:比如勾选、开关设置
单选按钮:选择、默认选择、切换选项
多选按钮:单选、全选、全不选
3)在拉列表包含多个选项的情况:比如城市下拉选项
4)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度匹配规则);比如要求用户实名认证、非黑名单、账户资金1000元以上

以上除了等价类之外同时会涉及边界值的分析。边界值还包括以下:
1)报表的第一行、最后一行、中间一行
2)屏幕上光标在最左上、最右下位置

上课练习
注册163邮箱

*邮件地址 输入框 @163.com
6~18个字符,可使用字母、数字、下划线、需以字母开头

第一步 分类

设计输入数据

三、场景法
1)什么是场景法
通过场景描述的业务流程(业务逻辑),也包括代码实现逻辑,设计用例来遍历场景(路径),验证软件系统功能的正确性。
2)如何使用场景法
2.1 画出流程图
矩形:表示步骤(操作、结果)
菱形:判断---是、否
注意:场景法的重点是测试流程,因此每个流程一个用例验证即可,流程测试没有问题并不能说明系统功能没有问题了,还需要针对单步的功能进行测试
只有单个功能点和流程测试,才算是充分的测试

ATM取款经常遇到的场景:(一共9种)
1、成功取款(插入银行卡)
2、借记卡不合法
3、取消输入密码
4、密码错误(还有输入的机会)
5、密码错误超过3次(被吞卡)【1,3】 0,1,2,3,4
6、金额不合法(0、负数、非数值类型输入*#)
7、账户余额不足
8、ATM内现金不足
...
工具:在线画流程图工具
思路:
1、正常路径
2、再去根据每一个判断,找 另一个出口的路径
3、确定出错之后还能否正常,再多走一个步骤


四、错误推测法(反推法)
基于经验和直觉推测程序中所有可能存在的各种错误,从而针对性的设计测试用例的方法。它的要素共有三点,分别为:经验、知识、直觉
(二八原则)

如何使用?
1、列举出程序中所有可能有的错误和容易发生错误的特殊情况;
2、根据他们选择测试用例
有可能已经想到的测试点,利用等价类和边界值已经覆盖到了

登录
等价类划分和边界值分析
1、正确用户名、正确密码、点击登录按钮 ----登录成功
2、错误密码
3、用户名不存在(不存在)
4、用户名错误
5、空用户名、空密码、包含空格情况
错误推断,无法通过上述方法覆盖到
6、多次输入错误密码,是否安全提示
7、修改密码后输入原密码是否支持登录
8、单点登录、多点登录、异地登录
9、网络情况测试

单点登录:一个账号只能在一个地方登录
多点登录:多个人可以登录同一账号、多个平台可以登录同一个账号;会出现重复提交

案例详解:
某平台登录页面
既然是用错误推测法,那么我们首先列出所有可能导致结果出错的情况,如下:

1、用户名跟密码的对应关系校验
2、账号或密码为空
3、用户名和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)
满足格式要求但不是正确的
4、用户名和密码中有特殊字符(比如空格),和其他非英文的情况(是否做了校验)
5、用户名和密码前后有空格的处理(过滤)
6、错误登录的次数限制
7、提交登录时,网络异常
8、多次点击提交操作,只能执行一次
...

后台服务器与系统已存在的用户信息做匹配校验!

登录密码【6-16,字母数字常用字符组合】(格式是否满足+满足格式是否与已存在信息一致)
lanxin12345 正确密码 lanxin1234

正交法和因果图分析法(这两种方法暂时不讲,很少用到,金融类可能后比较多,有了一定的经验后)

五、测试用例方法的选择
使用各种测试方法的综合策略

1)首先,进行等价类划分,主要是输入条件的划分,这是提高测试效率的最有效的方法,在任何情况下都必须使用边界值分析法,这种方法设计出的测试用例发现程序错误的能力最强。
切记不要穷举测试

2)用错误推测法追加测试用例,这需要测试工程师的经验总结

3)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到覆盖标准,应当再补充足够的
测试用例(场景法)

具体如何设计,可以结合项目要求或自己的标准来做,灵活运用

笔试面试题整理
1、编写测试用例会用到什么方法
接着问,你觉得你在写用例的时候用到了吗?(结合项目来答)
2、给出一个登录/购物车/支付页面,直接让你设计尽可能多的用例

作业

输入边A、B、C三个值,判断是否构成三角形,如果是等腰三角形(直角、等边)就输出等腰(直角、等边)三角形

分析思路:
首先要考虑a、b、c是否为正数:a>0,b>0,c>0
三角形判断依据:三角形任意两边之和大于第三边 a<b+c;b<a+c;c<a+b
直角三角形判断依据:勾股定理:a的平方+b的平方=c的平方
等腰三角形判断依据:两边相等 a=b不等于c,a=c不等于b,b=c不等于a
等边三角形判断依据:三边相等:a=b=c

1、场景法:画出流程图,并整理测试点(等价类边界值进行用例补充)
2、等价类划分法,整理出测试点
二选一来完成
输入有效等价类无效等价类
是否为三角形的三条边a>0 (1)a<=0 (7)
 b>0 (2)b<=0 (8)
 c>0 (3)c<=0 (9)
 a+b>c (4)a+b<=c (10)
 a+c>b (5)a+c<=b (11)
 b+c>a (6)b+c<=a (12)
   
是否为等腰三角形的三条边a=b(13)a≠b且b≠c且a≠b(16)
 b=c(14) 
 a=c(15) 
   
   
   
   
是否为等边三角形的三条边a=b=c(17)a≠b(18)
  a≠c(19)
  b≠c(20)
是否为直角三角形的三条边a²+b²=c²(21)a²+b²≠c²(22)
   
a,b,c覆盖等价类输出
7,8,10(1)(2)(3)(4)(5)(6)一般三角形
0,3,2(7)非三角形
3,0,2(8)非三角形
1,2,0(9)非三角形
1,2,3(10)非三角形
1,3,2(11)非三角形
3,2,1(12)非三角形
3,3,7(1)(2)(3)(4)(5)(6)(13)等腰三角形
7,3,3(1)(2)(3)(4)(5)(6)(14)等腰三角形
3,7,3(1)(2)(3)(4)(5)(6)(15)等腰三角形
7,8,9(1)(2)(3)(4)(5)(6)(16)非等腰三角形
8,8,8(1)(2)(3)(4)(5)(6)(17)等边三角形
3,4,4(1)(2)(3)(4)(5)(6)(18)非等边三角形
3,4,4(1)(2)(3)(4)(5)(6)(19)非等边三角形
4,3,3(1)(2)(3)(4)(5)(6)(20)非等边三角形
3,4,5(1)(2)(3)(4)(5)(6)(21)直角三角形
3,4,6(1)(2)(3)(4)(5)(6)(22)非直角三角形





注意:没有办法证明测试点是否覆盖全面,要理解知识点,不要去背,理解了才是你的
按照方法去整理出来的测试点

下节课预习
软件测试知识分析






评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值