等价类法
由于输入的集合是无穷的,不能全部覆盖到,所以通过划分若干个等价类,选出有代表性的达到尽量多的功能覆盖
有效等价类:根据规格说明书是合理的、有意义的输入数据构成的集合
无效等价类:根据需求说明书是不合理,不满足需求的集合。
等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
例子:
购买的水果有 苹果 香蕉 橘子
有效等价类:苹果 香蕉 橘子...
无效等价类:车厘子 橙子...其他水果
需求: |用户名 | 必填,录入用户名 | 6至15 | 字符类型A-Z,不区分大小写|
针对字符:有效等价类:A-Z,a-z,无效等价类:数字(1,0.1,-1) 特殊字符(@,¥,空格)
针对长度:有效等价类:6到15 无效等价类:小于6 或者 大于15
边界值法
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
要注意边界值通常取 等价类划分中的边界,比如 有效边界 和 无效边界
例子:
超市卖水果
边界值:额... 番茄?山芋? maybe...理解就行
需求: |用户名 | 必填,录入用户名 | 6至15 | 字符类型A-Z,不区分大小写|
针对字符:有效边界:a z A Z 无效边界:全角\半角\特殊字符\数字\A+1(ascii码).....
针对长度:有效边界:6 15 无效边界:5 16
判定表法
使用场景较少,工作中很少使用,很多书籍中相似的方法称为 因果图,相比较判定表而言,多了一个画图的步骤,且图很麻烦,场景使用少,现在还没有必要学习因果图。
找出输入条件和输出条件
找出输入条件和输出条件之间的关系
画判定表
根据判定表编写测试用例
案例:淘宝活动 当使用了红包 或者 订单金额大于300元,则该订单是优惠订单,否则不是优惠订单。
输入条件:使用红包(A) 金额大于300(B) 订单提交(C)
输出条件:优惠订单(1) 不是优惠订单(2)
输入条件 和 输出条件之间的关系
AC | BC | ABC | A | B | C | AB | 非ABC |
1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 |
画判定表
编写测试用例
① 有红包,提交订单,为优惠订单
② 金额>300 ,提交订单,为优惠订单
③ 有红包,金额<300 且提交订单,为优惠订单
④ 有红包,金额<300 没提交订单,不是优惠订单
⑤ 无红包,金额>300 已提交订单,不是优惠订单
⑥ 无红包,金额<300 已提交订单,不是优惠订单
⑦ 有红包,金额>300 没提交订单,不是优惠订单
⑧ 无红包,金额<300 没提交订单,不是优惠订单
场景设计法
较少使用,只是一个思路引导,告诉我们不能完全按照需求文档,要对一些意外情况有响应的判断。
基本事件流:按照正确的业务流程实现操作的一条路径
备选事件流:程序出错的操作流程
案例:比如ATM机取款的时候,中间可能出现的意外情况我们都要有判断:
错误猜测法
依赖的是测试人员的 工作经验和积累 。
只是利用直觉和经验猜测出错的可能类型,然后编写测试用例来暴露这些错误。
正交法
(用的比较少 基本不可见) 是指 从大量的实验中,挑选出适量的、有代表性的例子,依据“正交表”从而合理的设计测试用例
正交表 表示L4(2^3),4代表4组实验(测试用例),3代表因素数(输入条件),2代表每个因素数对应的水平数(输入条件的可能结果)。
正交表的特性:
每一列中,不同的数字出现的次数相同。
任意两列中,数字的排列方式齐全且均衡。
根据正交表设计测试用例的步骤:
找出 因素 和 水平
生成正交表(使用生成正交表的工具:allparis)
根据正交表来编写测试用例
补充可能遗漏但是非常重要的测试用例
例子:登录的案例
找出因素和水平
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写、不填写
使用allparis生成正交表
根据正交表编写测试用例
① 填写姓名 填写邮箱 填写密码 填写验证码
② 填写姓名 不填写邮箱 不填写密码 不填写验证码
③ 不填写姓名 填写邮箱 不填写密码 填写验证码
④ 填写/不填写姓名 填写邮箱 填写/不填写密码 不填写验证码
⑤ 填写/不填写姓名 不填写邮箱 填写/不填写密码 填写验证码
如何使用allParis 生成正交表?
将水平和因素填写到Excel
把这个Excel中的内容复制到一个txt文件中
使用allParis工具生成正交表
打开登录验证jg.txt 文件