问题 多项选择题

[说明] 给出一个接收三个数a、b、c作为三角形边长并输出三角形的类型的程序。程序代码如下所示:
结点源代码行

A
read a, b, c
B
type = "scalene"
C
if(a = = b || b = = c|| a = = c)
D
type = "isosceles"
E
if (a = = b && b= =c)
F
type = "equilateral"
G
if (a> =b+ c || b> =a+ c||c> =a+ b)
H
type = "not a triangle"
I
if (a< =0 || b< =0 ||c< =0)
J
type = "bad inputs"
K
print type
给出上面三角形伪码中的所有可行路径,进行每条路径测试。并找出达到C0和C1覆盖的最小测试案例集合。

答案

参考答案:试题一
[解答要点] 一条路径是利用某个测试案例执行的一个唯一的程序结点序列。在上述测试矩阵中有H个子域。这H个子域每一个子域恰好是一条路径。在该例子中,有AF个T和F的不同组合。但是,其中有H个组合是不可行路径。也就是说,对于诙问题的条件不存在具有这H种T和F的组合的测试案例。很难确定一条路径是不可行还是难于找到执行该路径的测试案例。
下面的表给出了三角形伪代码中的H条可行路径。

路径