测试用例概要
测试用例要素
测试环境,操作步骤,测试数据,预期结果
测试用例好处
提高测试效率,节省测试时间
测试用例是自动化测试用例的前提
测试用例设计方法
1.基于需求的设计方法
需求文档 --> 梳理需求(掌握需求) --> 针对文档设计测试用例(基于需求设计测试用例)
例: 微信现在有一个发红包的需求,发红包金额限制: 200 元,微信领取红包限制: 24h
基于需求设计测试用例
金额为 200元 能不能发送成功?
金额超过 200元能不能发送成功?
金额为0元能不能发送成功?
............
这样的测试用例还有很多很多,是我们头脑风暴想出来的,因此不合理,只能对产品进行大概的设计
以俺之前写的博客系统的注册页面为例,基于需求的设计方法设计测试用例
2.等价类
有效等价类: 满足用户需求输入集合
无效等价类: 不满足用户需求输入集合
以上述博客系统注册的用户名为例:
用户名 | 必填,录入用户名 | 6至15
有效等价类 : 6~15位
无效等价类 : 小于6位或大于15位
等价类思想设计测试用例步骤
1.充分理解需求
2.划分有效等价类,划分无效等价类
3.从有效等价类抽取其中一个数据进行测试用例设计,从无效等价类抽取其中一个数据进行测试用例设计
3.边界值
边界点:
1.上点: 边界上的点
2.内点: 边界内的点
3.离点: 边界值附近的一个点(闭区间,区间外距离上点最近的点,开区间,区间内距离上的最近的点)
边界值设计测试用例方法
1.充分理解需求
2.找上点,内点,离点
3.针对边界点设计测试用例
4.判定表
判定表是一种逻辑表达判断的工具
关系:
与: 所有的条件必须满足,如果一个条件不满足,结果为假
或: 满足其中一个条件,结果就为真
非: 条件为假,结果为真
恒等: 条件为真,结果一定为真
如何利用判定表法设计测试用例?
1.分析所有可能的输入输出
2.找出输入与输出之间的关系
3.设计判定表
3.把判定表对应到每一个测试用例
假设业务单的处理规则为:"京东618活动,订单已提交,订单合计金额大于300或有红包,则进行优惠"
输入: 订单已提交,订单金额大于300,有红包
输出: 进行优惠,不进行优惠
输入和输出对应的关系
1.订单已提交,金额大于300,有红包 优惠
2.订单已提交,金额大于300,没有红包 优惠
3.订单已提交,金额小于300,有红包 优惠
4.订单已提交,金额小于300,没有红包 不优惠
5.订单未提交,金额大于300,有红包 不优惠
6.订单未提交,金额大于300,没有红包 不优惠
7.订单未提交,金额小于300,有红包 不优惠
8.订单未提交,金额小于300,没有红包 不优惠
判定表
5.正交表法
在一些情况下使用判定表法设计的测试用例太多
因素:此次需求变量(输入)
水平:变量的取值
正交表性质:
每一列各个数字出现的次数一样多
任何俩列中各有序数对出现的次数一样多
通过正交表设计测试用例:
1.充分理解需求
2.确定因素和水平
3.画正交表
4.补充正交表
5.将正交表转换成测试用例
例:需求:姓名,邮箱,密码,确认密码,验证码必须全部输入,才能注册
因素:姓名,邮箱,密码,确认密码,验证码
水平:填写,不填写
6.场景设计法
主事件流:
次事件流:在主事件流的每一个环节都可能出现其它情况
ATM机取款
主事件流: 插卡---选择语言----输入密码----选择业务----输入取款金额---等待吐钱----取卡
次事件流: 卡消磁/卡不是银行卡------取款失败
插卡---选择语言----密码错误---取款失败
插卡---选择语言---输入密码---存钱----取款失败
.......................
如何模拟弱网?
借助Fiddler工具
在规则栏打开限速模式
在规则栏中,点击用户规则
修改用户限速规则
针对水杯设计测试用例
测试用例万能公式:功能,性能,界面,易用,兼容,安全,网络
功能: 物体:这个物体主要用来干嘛..软件: 软件实现了哪些功能
界面: 物体:外观,材质,大小,容量....软件:界面,字体大小,页面布局,图片
易用: 操作简单,使用流畅,符合人体工程学
性能: 物体:使用时间,寿命,耗能.. 软件:响应时间,吞吐量,并发数,CPU占用率
兼容: 物体:除了本职功能,还有没有其它功能...软件:操作系统,设备,浏览器版本
安全: 物体:材质是否有毒,是否对健康或环境造成威胁...软件:sql注入,漏洞
网络: 软件:2G,3GL4G,5G弱网,WIFI