用例篇
测试用例的基本要素:用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果
设计测试用例的万能思路:
功能测设 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试
具体设计方法:
1) 等价类
等价类的思想是:根据需求将输入分成几个若干个等价类,从等价类中选取一个测试用例进行测试,如果测试通过则认为该测试用例所在的等价类是通过的。
等价类就是分区分块,使用较少的测试用例到到符合的系统测试覆盖。
等价类又划分为有效等价类和无效等价类:
有效等价类:针对需求来说是有效且有意义的数据构成的集合
无效等价类:针对需求来说是无效且没有意义的数据构成的集合
根据等价类划分测试用例的步骤:
确认有效等价类和无效等价类
编写测试用例
需求:用户长度为6~200位,应该如何设计测试用例。
确定有效等价类和无效等价类
有效等价类:6~200
无效等价类:小于6大于200
编写测试用例
又或者是针对密码为6到20位来设计无效等价类?
长度设计:小于6或者大于20
根据类型:数字、字符串、特殊字符等等
2) 边界值
边界值法通常是对等价类的补充
设计边界值的测试用例时需要加上:边界值+次边界值
假设有某一个需求:活动截止的日期是5月23日
时间的次边界值就得设置为:00:00:00和23:59:58
比如1的次边界值为:0和2
-1的次边界值为:-2和0
3) 判定表法
适用场景:针对不同的输入条件之间的组合对应不同的输出结果
判定表法是一种逻辑判断工具
假设有需求:订单已提交,订单合计金额大于300或者订单有红包,则认为该订单属于有优惠的订单,否则属于没有优惠的订单。
判定表设计测试用例的步骤:
1.找出输入条件和输出条件
2.找出输入条件和输出条件之间的关系
3.画出判定表
4.根据判定表编写测试用例
5.针对上述去求确定输入条件和输出条件
输入条件:金额大于300(A)、有红包(B)、订单已提交(c)
输入条件:1有优惠、2无优惠
找出输入条件和输入条件之间的关系
AC BC ABC C A B AB 非ABC
1 1 1 2 2 2 2 2
1
2
根据判定表来编写测试用例
有红包、金额不大于300、订单已提交,结果为有优惠
无红包、金额大于300、订单已提交。结果为有优惠
有红包、金额大于300、订单已提交,结果为有优惠
无红包、金额不大于300,订单已提交,结果为无优惠
无红包、金额大于300、订单未提交,结果为无优惠
有红包、金额不大于300、订单未提交、结果为无优惠
有红包、金额大于300、订单未提交,结果为无优惠
无红包、金额不大于300、订单未提交,结果为无优惠
有一个步骤叫根据因果图画判定表法,因为因果图画判定表很多余,而且因果图实际在设计测试用例的时候并没有什么意义,而且抽象。
4) 正交法
所谓正交法,就是由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
正交表的构成:
行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
因素数(Factors):正交表中列的个数,用C代表。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表。
正交表的表示形式: L=行数(水平数*因素数) L=N(TC)
正交表的两条性质:1.每一列中各数字出现的次数都一样多 2.任何两列中的各有序数对出现的次数都一样多。
5)场景法
就是把一个个孤立的功能串联起来形成一个场景,每一个功能的选择触发不同的走向,根据这些不同功能的不同输入触发形成的场景进行测试用例的设计。举一个例子,比如说银行ATM机的插卡流程
6)错误猜测法
这个错误猜测法,就很考验测试人员本身的功底了。错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。
这个方法的缺点是难以系统化,并且过度依赖个人能力。