P63第6题
解:依题意可得出该流程图:
令左边三个向下箭头为1、3、5,两个向右的箭头分别为2、4,M到N的为F,M到K的为T,N到J的为T,否则为F。
1:语句覆盖的测试用例
由上图可以知道,该程序模块有4条不同的路径:
P1(1-2-4)即M=.T.且N=.T.
P2(1-2-5)即M=.T.且N=.F.
P3(1-3-4)即M=.F.且N=.T.
P4(1-3-5)即M=.F.且N=.F.
P1包含了所有可执行语句,按照语句覆盖的测试用例设计原则,可以使用P1来设计测试用例。
但是令X=1,Y=12,会得到输出X=1,Y=12,此时满足条件M(X>0 AND Y>10)但不满足条件N(X<-10 OR Y<0),所以测试用例的输入不能覆盖路径P1。
所以还要设计输入,使测试可以覆盖路径P2、P3、P4。
令X=1,Y=12,会得到输出X=1,Y=12,所以测试用例的输入能覆盖路径P2;
令X=1,Y=-1,会得到输出X=1,Y=0, 所以测试用例的输入能覆盖路径P3;
令X=1,Y=1,会得到输出X=1,Y=1, 所以测试用例的输入能覆盖路径P4
3:条件覆盖的测试用例
X>0取真时为T1,取假时为F1;Y>10取真时为T2,取假时为F2;X<-10 取真时为T3,取假时为F3; Y<0取真时为T4,取假时为F4;所以可得:
4:路径覆盖的测试用例
所以有:。