2.分析
如果输入值a、b、c不满足条件1、条件2和条件3,输出ERROR。
如果输入值a、b、c满足条件1、条件2和条件3:
(1)如果不满足条件4、条件5和条件6中的一个,则程序输出为ERROR;
(2)如果三条边相等,则程序输出为“等边三角形”;
(3)如果恰好有两条边相等,则程序输出为等腰三角形;
(4)如果三条边都不相等,则程序输出为普通三角形。
3.根据以上分析及流程图得出测试用例,如表2。
表2判定覆盖测试用例
测试
用例
a
b
c
a+b>c&&b+c>a&&a+c>b
a=b&&b=c
a=b||b=c||a=c
预期
结果
1
3
4
7
假
-
-
ERROR
2
5
5
5
真
真
真
等边三角形
3
5
5
6
真
假
-
等腰三角形
4
5
6
7
真
真
假
普通三角形
五.分支条件测试分析
设计足够的测试用例,运行被测程序,使程序中的每个判定的每个条件的所有可能值至少执行一次,并且每个可能的判定结果也至少执行一次,即要求各个判定的所有可能的条件取值组合至少执行一次。
根据流程图得出测试用例,如表3。
表3分支条件测试用例
测试
用例
a
b
c
覆盖条件
a+b>c&&b+c>a&&a+c>b
a=b&&b=c
a=b||b=c||a=c
预期
结果
1
1
2
1
T1,T2,-T3
假
-
-
ERROR
2
2
1
1
T1,-T2,T3
假
-
-
ERROR
3
1
1
2
-T1,T2,T3
假
-
-
ERROR
4
5
5
5
T1,T2,T3,T4,T5,T6
真
真
真
等边三角形
5
5
5
6
T1,T2,T3,-T4,-T5
真
假
-
等腰三角形
6
5
6
7
T1,T2,T3,T4,T5,-T6
真
真
假
普通三角形
六.分支条件组合测试分析
设计的测试用例,需要将原子条件的所有true-false组合至少执行一遍。
并且满足分支条件组合测试包括语句覆盖和分支覆盖。
根据流程图得出测试用例,如表4。
表4分支条件组合测试分析
测试
用例
a
b
c
覆盖条件
a+b>c&&b+c>a&&a+c>b
a=b&&b=c
a=b||b=c||a=c
预期
结果
1
1
2
1
T1,T2,-T3
假
-
-
ERROR
2
2
1
1
T1,-T2,T3
假
-
-
ERROR
3
1
1
2
-T1,T2,T3
假
-
-
ERROR
4
6
6
6
T1,T2,T3,T4,T5,T6
真
真
真
等边三角形
5
5
5
6
T1,T2,T3,-T4,-T5
真
假
-
等腰三角形
6
5
6
7
T1,T2,T3,T4,T5,-T6
真
真
假
普通三角形
七.测试用例截图
使用判定覆盖进行用例测试,参见表2。
1.测试用例1,如图1。
图1测试用例1
2.测试用例2,如图2。
图2测试用例2
3.测试用例3,如图3。
图3测试用例3
4.测试用例4,如图4。
图4测试用例4
心得
体会
本次实验是关于覆盖测试方面的知识。
这方面的容很少,主要靠自己的理解。
在做实验之前,我复习了关于覆盖测试相关的容,在做实验的时候更加熟练。
有清晰的思路,使实验更简单。
在做语句覆盖的时候,觉得三角形问题没有语句覆盖,一直以为语句覆盖只能测试一次。
如果测试一次,不管怎样都不能将所有的语句都覆盖到,通过进一步的更深入的查阅资料,才明白,可以进行多次测试使被测试的程序的每一条可执行语句至少执行一次。
判定覆盖和分支条件覆盖是很容易弄混的知识点。
刚开始学习这两种覆盖的时候,我就很难分清。
在实验之前复习之后,有了很深的印象。
判定覆盖要求测试每个判定的结果,是IF,CASE语句中的所有可能。
使得程序中的每个判定至少都获得一次真值和假值。
即要使程序中的每个取真分支和取假分支至少均经历一次。
在本次的实验中,只要测试三个IF语句就行。
分支条件测试是将IF,CASE这种语句的原子条件的所有真分支和取假分支至少均经历一次。
一个条件包含多个原子条件。
就是将分支语句分解。
较判定覆盖较麻烦,但测试的更加细致,具体。
分支条件组合测试和分支条件测试差不多。
只是在分支条件测试的基础上,加入了判定测试。
条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。
不同的判断语句的条件取值之间无需组合。
对于但条件的判断语句,只需要满足自己的所有取值即可。
在以后的学习中,我会更加仔细认真。
在做实验之前,一定要做好复习,这次在实验之前准备的很充分,实验做的也很顺利。
在做实验的时候发现不懂的不会的,不太清楚的,不能就这样过去了。
要把模糊的知识点弄清楚,在做实验。
这样越拖越多,越欠越多,对自己的学习是一种敷衍,对以后的发展造成了阻碍。
及时进行总结归纳,将相似的问题放在一起。
找出共性。
找出不同的地方,方便记忆。
避免弄混知识点。
相信在以后的学习中,我能更好的学好每一科,为以后步入社会打下坚实的基础。