1.测试用例的基本要素
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
测试用例的出现主要解决了测什么和怎么测的问题;测试用例的好坏与产品测试质量具有很大的关联关系。
2.设计测试用例的万能公式
设计测试用例的万能公式,应该从以下六个方面的测试来得出结果:
功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试
- 功能测试:对产品的功能设计测试用例(来源是需求文档或者日常生活经验)
- 性能测试:开发产物:高并发、响应时间等方面的测试;物品:特性的测试。(功能测试没有问题不代表性能好)
- 界面测试:每个元素的大小、形状、颜色、材质(仅物品有);页面跳转、文字的错别字、遮挡情况等
- 兼容性测试:软件的不同版本是否兼容、不同浏览器、不同系统、数据的兼容性等方面
- 易用性测试:产品是否具备简单易上手的属性
- 安全测试:用户的隐私数据是否加密(注册场景、接口返回值等)、SQL注入问题、越权问题
兼容性测试里面需要注意:
不同的浏览器、不同的版本可能会有非常非常多,不可能所有的都去进行测试,我们应该遵循以下两条规则:
1.大部分用户使用的
2.参考数据管理平台给出的数据选项(数据后台可以检测到大部分用户使用到的浏览器/版本/手机型号)
针对上边的万能公式我们来用下边这两个例子进行练习,通常测试用例的设计都是使用思维导图的方式:
2.1 水杯的测试用例
2.2 登录界面的测试用例
登录界面效果图:
3.测试用例具体的设计方法
3.1 等价类
依据需求将输入(特殊情况)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
等价类分为有效等价类和无效等价类,有效等价类就是针对需求文档的要求是有意义的集合,无效等价类就是针对需求文档的要求是没有意义的集合。
使用等价类法来设计测试用例的步骤如下:
1.确认有效等价类和无效等价类
2.编写测试用例
比如在实现一个登录功能时,密码要求必须是6 ~ 18位,那么针对该功能的有效等价类就是6 ~ 18位,无效等价类就是小于6位或者大于18位。
进一步设计出的测试用例就是:
6~18位:具体是10位
小于6位:具体是3位
大于18位:具体是20位
3.2 边界值
边界值分析法通常是作为对等价类划分法的补充,其测试用例来自等价类的边界。
边界值分为有效边界和无效边界。
还是使用登录密码的例子,密码要求输入6 ~ 18位,那么有效边界就是6、18,无效边界就是5、19,这样就设计出了4个测试用例。
3.3 判定表
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。该方法的使用场景较少,适用于输入条件的组合对应不同的结果的场景。
使用判定表设计测试用例的步骤:
1、确认输入条件和输出条件
2、找出输入条件和输出条件之间的关系
3、画判定表
4、根据判定表编写测试用例
案例:双11活动,某购物平台活动规定,当订单使用了红包或者订单金额大于300元,则该订单是优惠订单,否则是不优惠订单。
1、确认输入条件和输出条件(字母、数字作为平替代表)
输入条件:红包(A) 金额大于300 元(B) 订单已提交(C)
输出条件:有优惠(1) 无优惠(2)
2、找出输入条件和输出条件之间的关系
先确定输入条件之间的可能组合关系,最后根据组合给出对应的输出结果。
3、画判定表
4、根据判定表编写测试用例
1)有红包并提交订单,则为有优惠订单
2)金额大于300并提交订单,则为有优惠订单
3)有红包,金额大于300并提交订单,则为有优惠订单
4)有红包,金额小于300但不提交订单,则为无优惠订单
5)无红包,金额大于300但不提交订单,则为无优惠订单
6)无红包,金额小于300,提交订单,则为无优惠订单
7)有红包,金额大于300但不提交订单,则为无优惠订单
8)无红包,金额小于300,不提交,则为无优惠订单
3.4 正交排列
正交试验设计法指从大量的试验中挑选出适量的、有代表性的点,依据“正交表”从而合理的设计出测试用例。(该方法用的也比较少)
一个正交表表示为L4(2^3),4代表的是4组试验(4个测试用例),3代表的是因素数(输入条件),2代表的是每个因素对应的水平数(输入条件的可能选项)
正交表有以下两个特性:
1)每一列中,不同的数字出现的次数相等
2)任意两列中数字的排列方式齐全且均衡
根据正交表设计测试用例的步骤:
1、找出元素和水平
2、生产正交表(需要借助生成正交表的工具:allpairs)
3、根据正交表来编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例
案例:注册页面(预览图如下)
每个元素对应的水平都是:填写、不填写
1、找出因素和水平
因素:姓名、电子邮箱、密码、确认密码、验证码
水平:填写、不填写
2、使用allparis生成正交表
(利用allpairs生成的正交跟实际的正交表可能有出入,但是仍然不影响我们使用allpairs生成正交表)
3、根据正交表编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例(如第7条测试用例)
使用allpairs生成正交表的步骤如下:
1、将水平和因素写入Excel
2、在allpairs的同级目录创建一个新的txt文件(0110.txt),复制Excel中的因素和水平,粘贴到文本(0110.txt)中,直接保存,不要做其他任何操作。
3、在cmd命令行中使用allpairs工具生成正交表
4、查看结果
3.5 场景设计法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。使用场景事件流描绘出事件触发时的情景有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
事件流分为基本事件流和备选事件流【即正常情况和非正常情况】
以我们去ATM取钱为例,依据这个场景,描述出事件流:
依据事件流编写测试用例:
1、基本事件流的用例:
先插卡,输入正确的密码,选择取款功能,取钞,退卡
2、备选事件流:
1)插入卡后,卡被ATM卡住…退卡
2)插入卡后,密码错误…退卡
3)…
3.6 错误猜测法
该方法就是依据测试人员的工作经验和积累,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
这个方法的缺点是难以系统化,并且过度依赖个人能力。