软件测试的内容
测试用例的要求
测试用例应由输入数据和预期的输出数据两部分组成。
测试用例不仅选用合理的输入数据,还要选择不合理的输入数据。
长期保留测试用例。
软件测试的范围
软件测试的对象:
软件测现错误。因此语句覆盖是比较弱的覆盖。
软件测试方法
(2)判定覆盖:
判定覆盖是指设计足够的测试用例,使被测程序的每个判定表达式至少获得一次“真”和“假”值,从而使程序的每个分支至少都通过一次,所以判定覆盖又叫分支覆盖。
(A>1)AND(B=0)
(A=2)OR(X>1)
语句段1
语句段2
T
F
F
T
1
2
3
4
5
测试路径为1-2-4,1-3-5或1-2-5,1-3-4,即可达到覆盖标准。所以测试用例为:A=3、B=0 、X=1(1-2-5), A=2、B=1、X=2(1-3-4)。对于多分支的判定,判定覆盖要使得每一个判定表达式获得每一个可能的值。判定覆盖比语句覆盖严格,若通过各个分支,各个语句也执行了。但该测试仍不充分,上述数据只覆盖了全部路径的一半,如将X>1错写为X<1,测试不到.
软件测试方法
(3)条件覆盖:
条件覆盖是指设计足够的测试用例,使被测程序的每个判定表达式中每个条件的各种可能的值至少出现一次。即对该程序中的四个条件A>1 , B=0 ,A=2,X>1 要选择足够的测试用例,使得:
判定表达式1出现:A>1,B=0;A≤1,B≠0
判定表达式2出现:A=2, X>1; A≠2, X<=1
达到条件覆盖标准。
为满足上述要求,选择以下两组数据:
A=2,B=0 ,X=3(满足A>1 ,B=0, A=2 , X>1 通过路径1-2-4)
A=1,B=1, X=1(满足A≤1,B≠0, X≤1, A≠2通过路径1-3-5 )
(A>1)AND(B=0)
(A=2)OR(X>1)
语句段1
语句段2
T
F
F
T
1
2
3
4
5
软件测试方法
以上两组数据不仅覆盖了判定表达式中的所有条件的可能取值,而且覆盖了 所有判定的取“真”分支和取“假”分支,在这种情况下条件覆盖强于判定覆盖。但也有例外,如选择以下两组数据:
A=1,B=0, X=3(满足A≤1,B=0,A ≠2 ,X>1)
A=2,B=1, X=1(满足A>1,B≠0,X ≤1,A=2)
以上两组数据覆盖了判定表达式中的所有条件的可能取值,但只覆盖了 第一个判定表达式的取“假”分支和第二个判定表达式的取“真”分支,此例不满足判定覆盖。所以满足条件覆盖不一定满足判定覆盖。为了解决此问题,需要对条件和分支兼顾。
(A>1)AND(B=0)
(A=2)OR(X>1)
语句段1
语句段2
T
F
F
T
1
2
3
4
5
软件测试方法
(4)判定/条件覆盖:
该覆盖标准是指设计足够的测试用例,使被测程序的每个判定表达式中每个条件的各种可能的值至少出现一次。并使每个判定表达式所有可能的结果也至少出现一次。对该例程序,可选择以下两组数据达到判定/条件覆盖标准:
A=2,B=0, X=3
A=1,B=1, X=1
从表面上看,判定/条件覆盖测试了所有条件的取值,但实际上条件组合中的某些条件会抑制其它的条件,如“与”运算的判定表达式中,第一个条件为“假”,则这个表达式后面的几个条件均不起作用,后面的表达式中的错误也就测试不出来。
(A>1)AND(B=0)
(A=2)OR(X>1)
语句段1
语句段2
T
F
F
T
1
2
3
4
5
软件测试方法
(5)条件组合覆盖:
该覆盖标准是指设计足够的测试用例,使被测程序的每个判定表达式中每个条件的各种可能的值的组合至少出现一次。条件组合覆盖是较强的覆盖标准。该例中,两个判定表达式共有4个条件,有8种组合:
①A>1, B=0 ; ② A>1, B≠0 ;③ A≤1,B=0; ④A≤1, B≠0 ;
⑤A=2, X>1 ; ⑥ A=2, X≤1; ⑦A≠2, X>1; ⑧ A≠2, X≤1 ;
测试用例4组数据:
A=2, B=0, X=2;覆盖条件组合① ⑤,路径1-2-4
A=2, B=1, X=1;覆盖条件组合② ⑥,路径1-3-4
A=1, B=1, X=1;覆盖条件组合④ ⑧,路径1-3-5
A=1, B=0, X=2;覆盖条件组合③ ⑦
软件测试的内容 来自淘豆网m.daumloan.com转载请标明出处.