1 目标和内容
1.1 等价类划分法
1.2 边界值分析法
1.3 场景法
1.4 错误推测法(反推法)
2 等价类划分法
2.1 等价类划分法的概念
等价类划分法是一种典型的、重要的黑盒测试方法,是指某个输入域的子集合。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。
等价类划分有效等价类和无效等价类。
举例:微信红包
按数据范围划分:
有效的:0.01~200(1)
无效的:小于0.01(2)如:0.001;大于200(3);0.01-200区间小数点后超出2位的值(4)
按数据类型组成划分:
有效:数字(5)
无效:非数字类型,a、#、中文… (中文)
2.2 等价类划分法用例设计原则
1)划分有效及无效等价类,为每一个等价类规定一个唯一的编号;
2)设计一个新的测试用例数据,使其
尽可能多
地覆盖尚未被覆盖的
有效等价类
,重复这一步,直到所有的有效等价类都被覆盖位置;
3)设计一个新的测试用例数据,使其
仅覆盖1个
尚未被覆盖的
无效等价类
,重复这一步,直到所有的无效等价类都被覆盖为止
2.3.基本用例设计
测试用例设计 | 测试输入 | 测试覆盖 | 边界值 |
输入正确的红包金额0.01~200 | 0.01/0.02/199.99/200 | 1,5 | 0,0.01,0.02,199.99,200,200.01,负数 |
金额输入<0.01 | 0,-0.01 | 2 | |
金额输入>200 | 200.01 | 3 | |
金额输入为小数,精确到0.001 | 100.111 | 4 | |
金额输入包含中位、a、字符 | a或者中文或字符 | 6 |
3 边界值分析法
3.1 定义:
边界值分析法是对等价类划分法的一个补充,边界值一般都是从等价类的边缘值去寻找。边界值分析的基本思想:
正好等于、刚刚大于、刚刚小于
边界的值作为测试数据。
3.2 边界值的作用:
人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误!0.01<=x<200,此时输入200,报200不支持,实际上是支持的
3.3 举例
1)比如我们生活中大家熟悉的微信红包:最小金额0.01,最大金额200
边界值:0、0.01、0.02、199.99、200、200.01 (三点法/两点法: 有效值、无效值)
特殊值:负数
2)一个输入文件应包括2~255条记录
边界值:1,2,3,254,255,256 2~255
特殊值:0
3.4 应用场景
边界值的应用场景:如果需求规定了取值范围或规定了取值的个数时,可利用边界值进行测试
4 等价类划分法/边界值分析法常见运用场景
1)输入条件规定的取值范围或值的个数的情况(类似最小<x<最大、最小<x,最大>x),比如用户名长度、红包金额数值的输入范围
2)在输入条件是true和false两种状态的情况;比如勾选、开关设置
3)在下拉列表包含多个选项的情况;比如城市下拉选项(第一个、最后一个、中间一个)
4)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
以上除了等价类之外同时会涉及边界值的分析。边界值还包括以下:
1)报表数据的第一行、最后一行、中间一行
2)屏幕上光标在最左上、最右下位置
5.场景法
5.1 什么是场景法?
通过场景描述的
业务流程(业务逻辑),也包括代码实现逻辑
,设计用例来遍历场景(路径),验证软件系统功能的正确性。
5.2 如何使用场景法
5.2.1 画出
流程图
矩形:表示步骤(操作,结果)
菱形:判断–是、否
注意:场景法的重点是测试流程,因此每个流程一个用例验证即可,流程测试没有问题并不能说明系统功能没有问题了,还需要针对
单步的功能进行测试
只有单个功能点和流程测试,才算是充分测试
5.3 场景法举例
银行ATM机取款流程:
场景法举例:
ATM取款经常遇到的场景:
设计方式
1)将正常流程走一遍
2)将每个判断的错误分支走一遍,如果有循环,则多走一遍(第二遍走正确的路径)
用例案例:
1)插入合法银行卡–>输入正确密码,点击确定–>输入100(卡余额2000,ATM现金充足)–>取款成功
2)插入不合法的卡–>提示错误,退卡
3)插入合法卡–>输入正确密码,取消输入–>退卡
4)插入合法卡–>输入错误密码–>提示出错,请重新输入–>输入正确的密码–>输入取款100(卡余额2000)–>取款成功
5)插入合法卡–>输入错误密码三次–>吞卡
6)插入合法卡–>输入正确密码–>输入不合法金额(5元)–>提示重新输入金额(
此处还需要进行功能测试,如非法字符,非整数,非100元
)
7)插入合法卡–>输入正确密码–>输入10000的金额(卡余额5元,卡余额不足)
8)插入合法卡–>输入正确密码–>输入10000金额(ATM现金不足)
6 错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。它的要素共有3点,分别为:
经验、知识、直觉。
通常是用出错的情况进行测试。
登录功能举例:
登录失败,有哪些可能?
1)密码错误
2)用户名错误/用户名未注册
3)不输入用户名
4)不输入密码
5)网络情况异常,登录提示网络不通
6)不兼容的浏览器,进行兼容性测试
7)账号违规、黑名单
8)服务器登录请求过多(排队系统解决)
9)输入密码次数过多(账号锁定)