测试用例全解析:从入门到精通(1)
前言:Hello!!大家早上中午晚上好!!今天来总结一下软件测试最重要的知识点之一:测试用例!下文将介绍到什么是测试用例?测试用例作用?以及如何编写测试用例等。
一、什么是测试用例
1.1 概念
- 测试用例是为了实施测试向被测试的系统提供的一组集合
1.2 举个例子
- 测试一个人是好是坏?
如何测试一个人是好是坏?方法有很多种,例如我们可以这样做:
- 请这个人去吃饭,看他会不会自觉买单?
- 请这个人去看电影,看他会不会在看电影的时候大声说话?
- 跟这个人一起过马路,看他会不会扶老奶奶过马路?
- 带这个人到自己家里玩,看他会不会跟叔叔阿姨打招呼?
- .....
以上所有都是测试用例,你还能想到更多吗?
我们会发现:越到后面能想出来的测试用例越困难,如果此时我们有一样东西可以引导你,你会更容易想到更多的测试用例!
二、测试用例的万能公式
2.1 作用
- 万能的测试用例公式能够引导我们想出更多的测试用例
2.2 公式
- 功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试
2.3 理解
功能测试:从产品角度出发验证产品功能是否符合用户需求;
性能测试:在一些特殊情况下会不会影响产品的功能;
界面测试:肉眼能看到的一切元素;
兼容性测试:在不同环境不同版本下产品功能是否正常;
易用性测试:检测产品是否具有简单易上手的属性;
安全测试:产品是否保护用户隐私是否会对用户造成伤害,是否存在危险性因素;
2.4 举个例子
对一个水杯进行测试:
功能测试:
水杯的主要功能为:喝水、盛水
对喝水功能测试:
- 拿起水杯能否喝到水
- 不拿起水杯能否喝到水
- 水杯倾斜能否喝到水
- 水杯水平能否喝到水
对盛水功能测试:
- 能否盛一点点水
- 能否盛一半水
- 能否盛满水杯
- 盛满水杯会不会溢出
性能测试:
- 在极寒环境下水杯会不会碎裂
- 在极热环境下水杯会不会碎裂
- 在高压强环境下水杯会不会碎裂
- 在非常低压环境下水杯会不会碎裂
- 用力摔地上水杯会不会碎裂
- 在非常晃动的桌子上水杯能否保持不摔倒
易用性测试:
- 水杯拿起来方不方便
- 水杯装水方不方便
- 水杯喝水方不方便
- 水杯藏起来方不方便
界面测试:
- 水杯的大小是否符合预期
- 水杯的形状是否符合预期
- 水杯的颜色是否符合预期
- 水杯的材质是否符合预期
兼容性测试:
- 水杯能否盛果汁
- 水杯能否盛汽水
- 水杯能否在家里喝水
- 水杯能否在广场喝水
- 水杯能否在办公室喝水
安全性测试:
- 水杯放入特殊物质会不会发生化学反应产生有害物质
- 水杯喝水的时候会不会刮到嘴巴
- 水杯拿起来的时候会不会刮到手
- ...
以上,利用万能公式能帮助我们想到更多的测试用例!!
那么测试用例是不是越多越好呢?怎样的测试用例才是一个优秀的测试用例?
答案:能够达到更大的测试覆盖率的测试用例是更好的!
三、测试用例的具体设计方法
3.1 等价类
什么是等价类?例如: 对一个注册功能设计测试用例,在注册功能中明确要求注册密码为6~12位数字:
这时我们不可能把<6位数字或>12位数字的所有可能都测试一遍,这样的事情是无法完成且非常低效的,我们只需要在<6位数字的集合中选一个和在>12位数字的集合中选一个进行测试即可,我们认为只要通过一个测试代表集合中的所有用例都通过测试!
在等价类中分为有效等价类和无效等价类:
- 有效等价类:有意义合理的输入集合
- 无效等价类:不满足需求的集合
上述的例子中的有效等价类为: 6~15位数字
上述的例子中的无效等价类为: <6位的数字 、>12位的数字
3.2 边界值
边界值的作用: 作为等价类划分的补充
边界值又分为边界值和次边界值:
例如上述的例子中边界值为:6 、12 ; 次边界值为: 5 、 13
3.3 场景法
场景法的说明: 每个需求都存在一个基本的流程(主流程),在主流程里每个阶段都可能发生异常可能(备选流)
例如一个测试一个邮箱注册的功能:
如图:
在每一个环节中都有可能会发生不确定的因素导致当环节进行失败,需要重新进入这个环节,我们设计测试用例的时候可以利用场景法来设计!
3.4 正交法
正交法的作用场景: 用于在设计两两组合的测试用例时数量会非常的多情况时可以使用
例如:
在一个注册功能里需要设计的测试用例:
如上图,如果每一个组合都要设计一个测试用例的话需要设计非常多的用例,这是我们就可以用正交法
正交表的特性:
每一列中不同数字的出现次数相等;
任意两列的数字排列齐全且均衡;
如图:
这是一个正交表,这个正交表的因素数为因子1、 因子2、 因子3, 水平数为 1 、2、 3;
正交法的步骤:
- 根据需求找出因素和水平: 例如上面注册功能的因素为:姓名,手机号,邮箱,地址。水平数为:填写/不填写;
- 把因素数写到excel表格中:
- 利用pairs工具,在pairs下创建txt文件,把excel中内容复制粘贴到txt文件中,直接保存
- 在命令行中进入到allpairs.exe所在目录,输入命令让allpairs对刚才的txt文件生成正交表:使用allpairs.exe工具对txt文件生成正交表文件
然后我们就可以根据生成的正交表设计出测试用例:
用例一:姓名填写 手机号填写 邮箱填写 地址填写
用例二:姓名填写 手机号不填写 邮箱填写 地址不填写
用例三:姓名不填写 手机号填写 邮箱不填写 地址填写
用例四:姓名不填写 手机号不填写 邮箱填写 地址不填写
用例五:姓名填写 手机号填写 邮箱填写 地址不填写
用例六:姓名填写 手机号不填写 邮箱填写 地址填写
再加上一个:姓名不填写 手机号不填写 邮箱不填写 地址不填写
如上我们只需要设计7个测试用例即可!
今天的分享就到这里!如果对你有所帮助记得点赞收藏+关注哦!! 谢谢!!!
咱下期见!!!