复习
-
基于需求设计测试用例
分析需求,验证需求,细化需求,从需求中提取一个个的测试点,根据每一个测试点,采用具体的设计测试用例的方法取设计测试用例:
有多细致的需求,就有多细致的测试用例,测试用例对需求的覆盖率就越高
测试用例是根据需求写的 -
具体的设计测试用例的方法
- 等价类:
等价类设计测试用例的思想是,把输入分成若干个等价类,从每一个等价类中找出一个测试用例进行测试,如果这个测试用例通过,我们说测试用例代表测试的等价类测试通过。等价类解决了测试用例无法穷举的思想。
有效等价类
无效等价类 - 边界值
针对输入,输出的边界进行测试用例的设计。 - 因果图
四种逻辑关系:恒等,与,或,非
- 等价类:
百度云盘核心功能需求分析
百度网盘用来干啥?
存储 ,文件的分享,文件的查找,文件的操作。
1. 场景法
使用场景:如何针对一个APP或者软件系统的使用场景来设计测试用例?
场景其实就是 不同的功能点 按照一定的 策略组合。
不同的功能点由于输入不同,会造成功能点不同的输出,从而使得整个场景(流程)走向不同的方向,(中断流程,反复流程,流程顺利走下去)
这些不同的功能点 不同的输入 导致不同的流程都要进行测试
实例
ATM取款机,取款场景(取款流程)
在ATM机中插卡----输入密码----输入取款金额----取款----退卡
-
在ATM机中插卡:
卡:插入其他卡(公交卡,饭卡),卡插反了,消磁,银行卡不匹配,损坏,卡被注销,挂失,吞卡(长时间不操作引起),卡过了有效期,冻结
ATM机:没有联网,损坏,系统出现故障,死机,断电 -
输入密码
密码输入三次,都错误,卡被锁;
密码前两次输入错误,第三次输入正确,正常取款;
密码输入正确,继续取款流程;
卡没有激活,输入密码无用。 -
输入取款金额:
输入钱数超过余额;
ATM机余额不足;
取款金额不是100的整数倍;
取款钱数超过当日取款最高限额;
取款次数超过当日取款最大次数。 -
取款
机器故障,显示已经取出,但实际上没有出款;
吐出的钱数和取款金额必须一致;
出钱口被异物阻挡,不出钞票;
ATM机断网和断电时的处理
钞票破损。 -
退卡
长时间不操作,卡被吞;
测试用例的设计:
- ATM机出现故障,插卡口损坏,无法取款
- ATM机正常工作,卡插反了,重新正确插入卡,继续取款
- ATM机正常工作,插入正确匹配的银行卡,但三次都输入错误,卡被锁,无法取款
- ATM机正常工作,插入正确匹配的银行卡,密码前两次输入错误,第三次输入正确,正常取款;
- ATM机正常工作,插入正确匹配的银行卡,密码输入正确,输入金额大于ATM机余额,重新输入金额
场景法设计测试用例,先找出组成场景的每一个功能点,分析每个功能点可能出现的各种正常和异常的情况,去设计不同场景下的测试用例
2. 错误猜测法:
根据测试人员的知识,经验,直觉,去针对性的设计测试用例
用户输入的前后空格去掉,然后再去数据库中搜索信息
Java去除空格trim()
同一个搜索页,搜索出来的信息需要分页展示。
问题:不同的页面有相同的数据,
用户信息,查出来5000条数据,100条数据/页面,不同的页面有相同的数据?
分页展示有原则,需要进行排序,再展示(时间,ID等)
3. 正交法
研究多因素多水平的一种设计测试用例的方法,根据正交性,从多个实验因素的水平组合中选取最优的水平组合,根据最优的水平组合试验的结果,来判断整体实验的结果。
举例:注册邮箱的例子
姓名,邮箱,密码,确认密码,验证码 只考虑输入和不输入两种情况,暂时不考虑其他的。
2 2 2 2 2
22222=32种情况
因素:输入的变量数:姓名,邮箱,密码,确认密码,验证码
水平:每一个因素的取值,输入和不输入
因素数:所有 变量的个数 5
水平数:每一个变量所能取到的最多的值的个数 2
正交表的构造:
列:因素数,有几个因素(变量),表里就有几列 5
行:行 = (水平数 - 1) * 因素数 + 1 = 6
行,列确定了,表中具体的数据怎么确定?
答案:满足正交表的性质即可
1. 每一列当中,不同数据出现的次数一样多;
2. 任意两列,各种不同数据组合出现的次数一样多;
总结:正交法做题步骤
- 找出所有的因素和水平
- 确认因素数和水平数
- 确认正交标的行和列 列(因素数) 行:(水平数-1)*因素数+1
- 根据正交性填写正交表格
- 每一行是一个测试用例
- 补充比较你认为比较重要但没有在正交表体现出来的测试用例
注册邮箱