临时
作者:互联网
开发者测试
几种覆盖
语句覆盖:每一可执行语句至少执行一次
判定覆盖(逻辑覆盖):程序中每个判断的取真分支和取假分支至少执行一次
条件覆盖:使得每个判断的每个条件的可能取值至少执行一次
条件覆盖强于判定覆盖,即满足条件覆盖但不一定满足判定覆盖。
对所有条件及其取值加以标记:
-
对于第一个条件:A>1,取真记为T1,取假记为-T1;B==0,取真记为T2,取假记为-T2;
-
对于第二个条件:A==2,取真记为T3,取假记为-T3;X>1,取真记为T4,取假记为-T4;
测试用例 通过路径 覆盖条件 覆盖分支 A=1,B=0,X=3 abe -T1,T2,-T3,T4 be A=2,B=1,X=1 abd T1,-T2,T3,-T4 bd
所有条件均已覆盖,但是第一个条件的取真分支没有覆盖,因此满足条件覆盖,不满足判定覆盖。
判定条件覆盖:每个判断的每个条件的所有可能取值至少执行一次,每个可能的判断结果至少执行一次
测试用例 | 通过路径 | 覆盖条件 | 覆盖分支 |
---|---|---|---|
A=2,B=0,X=4 | ace | T1,T2,T3,T4 | ce |
A=1,B=1,X=1 | abd | -T1,-T2,-T3,-T4 | bd |
虽然覆盖了所有条件的取值,但实际上某些条件掩盖了另一些条件。
条件组合覆盖(多重条件覆盖):每个判断的所有可能的条件取值组合至少执行一次
比如第一个条件,所有组合:[{T1,T2},{T1,-T2},{-T1,T2},{-T1,-T2}],第二个条件类似
路径覆盖:覆盖程序中所有可能的路径
本例中所有路径:[ace,abe,acd,abd]
等价类划分
在给定了输入或外部条件之后,等价类的划分原则如下:
- 如果输入条件规定了一个取值范围(例如,“数量可以是1到999”),那么就应确定出一个有效等价类(1<数量<999),以及两个无效等价类(数量<1,数量>999)。
- 如果输入条件规定了取值的个数(例如,“汽车可登记一至六名车主”),那么就应确定出一个有效等价类和两个无效等价类(没有车主,或车主多于六个)。
- 如果输入条件规定了一个输入值的集合,而且有理由认为程序会对每个值进行不同处理(例如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”),那么就应为每个输入值确定一个有效等价类和一个无效等价类(例如,“拖车”)。
- 如果存在输入条件规定了“必须是”的情况,例如“标识符的第一个字符必须是字母”,那么就应确定一个有效等价类(首字符是字母)和一个无效等价类(首字符不是字母)。
- 以上是基于字面上的需求划分的等价类,而细化等价类依据的是数据在内存或数据库中存储的类型。(举例,测试加法器,两个文本框,要求输入-99~99之间的整数。整数的存储在计算机底层中会使用不同的算法,正整数和负整数算法不同。所以测试时正整数和负整数应该分开来测(一般对有效等价类数据应用,无效等价类数据一般不需要正、负分别测)。所以将有效等价类细分为:-99--(-1)负整数、0—99 正整数。
因子组合技术
AC(All Combinations:所有组合)每个因子的个数相乘之积
EC(Each Choice)每个测试因子的每个等价类取值在所有测试因子组合中至少出现一次
因子编号 | 取值个数 | 取值1 | 取值2 | 取值3 | 取值4 |
---|---|---|---|---|---|
A | 2 | a1 | a2 | ||
B | 3 | b1 | b2 | b3 | |
C | 4 | c1 | c2 | c3 | c4 |
至少需要的用例数:MAX(Pi),Pi为每个因子的可能取值数,本例中,至少需要4个用例
- a1,b1,c1
- a2,b2,c2
- a1,b3,c3
- a2,b1,c4
BC(Basic Choice):每个测试因子的每个等价类都能被覆盖一次
先找出一个基本用例,再每次变化一个测试因子的取值,直到所有因子的所有取值都被覆盖
按BC输出的测试用例个数:SUM(Pi)-M+1,M是因子个数=2+3+4-3+1=7
- a1,b1,c1
- a2,b1,c1
- a1,b2,c1
- a1,b3,c1
- a1,b1,c2
- a1,b1,c3
- a1,b1,c4
N-wise:覆盖N个因子的所有组合,N=因子个数时,即为AC,N=2时即为Pair-wise
Pair-wise: 等价类最多的前俩个测试因子个数乘积,本例中即为3*4 = 12
练习
- 测试用例参数化的方法,描述正确的是:降低了用例写作成本、数据和行为进行了隔离、提升了用例代码的维护性
- 开发自我测试汇总,有太多的检查语句导致用例臃肿,可以通过哪些方法优化:把用例里无关的细节删除;如果用例里面的内容多,相关性不大,建议拆分
标签:覆盖,临时,T2,等价,T1,条件,取值 来源: https://www.cnblogs.com/lhjc/p/16472489.html