1.测试用例的意义
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
测试用例的意义是为了帮助测试人员了解测什么,怎么测
eg:水杯的测试用例
测试用例的常见测试点
●功能测试: 对产品的功能设计测试用例(来源是需求文档/日常生活经验)
●性能测试: 功能测试没有问题不代表性能好(极端情况:高并发量,响应时间等等)
● 界面测试: 每个元素的大小, 颜色, 材质, 形状; 页面跳转, 文字的错别字, 遮挡等需要测试
● 兼容性测试: 软件不同的版本是否兼容, 不同浏览器, 不同的系统版本, 数据兼容性
● 易用性测试: 产品是否具备简单易上手的属性
● 安全测试: 用户的隐私数据是否加密(注册场景, 接口返回值等等)(用户密码在界面展示/接口参数传递数据库里对隐私数据是否加密, SQL注入)
具体的设计测试用例的方法
等价类
根据需求将输入划分为若干个等价类,从每个等价类选出一个测试用例,若测试用例通过,则认为所代表的等价类测试通过。解决了不能穷举测试的问题。
步骤:
- 确认有效等价类和无效等价类
- 编写测试用例
● 输入长度为6-18位的密码,具体为10位
● 输入长度小于6位的密码,具体为1位
● 输入长度为大于18位的密码,20位
边界值
边界值指: 有效边界 + 无效边界
成绩大于60可以领奖 边界值: 60(无效边界) 61(有效边界)
判定表
使用场景:输入条件的组合对应不同的结果。
判定表设计测试用例得分步骤:
- 确认输入条件和输出条件
- 找出输入条件和输出条件之间的关系
- 画判定表
- 根据判定表编写测试用例
案例:
当订单使用了红包或订单金额大于300元,则该订单是优惠订单,否则是不优惠的订单。
-
确认输入条件和输出条件
输入条件:红包A 金额大于300元B 订单已提交C
输出条件:有优惠1 无优惠2 -
找出输入条件和输出条件之间的关系
先确定输入条件之间的可能组合关系
最后根据组合给出对应的输出结果
-
画判定表
-
根据判定表编写测试用例
判定表法和因果法步骤类似,不过因果法里多了一步叫做“画因果图”
场景设计法
就是因为很多软件不同的场景, 都是基于不同事件的触发。不同事件的触发,会导致场景走向不同的 时间流 / 场景。场景设计法 就是把不同的功能点 给串起来了,形成一个场景。 要注意的是:不同的功能点有不同的输出,不同的输出就会导致不同的测试场景。还可以认为是将一个功能集成模块 给 拆分成一个个单独功能模块,进行设计测试用例。
正交法
正交实验设计法指从大量的实验中挑选出适量的,有代表性的点,依据“正交表”合理的设计测试用例
正交表的表示 L4(2^3),4代表4组实验,3代表的是因素数,2代表每个因素数对应的水平数。
正交表的特性:
- 每一列中,不同的数字出现的次数相等。
- 任意两列中数字的排列方式齐全而且均衡。
根据正交表设计测试用例的步骤:
- 找出 因素 和 水平
- 生成正交表 -》(借助生成正交表的工具:allparis)
- 根据正交表来编写测试用例
- 补充可能存在遗漏但是非常重要的测试用例。