2013-01-18 54 views
1

您好我正在准备一个有竞争力的考试。虽然解决以前年度的问题,我遇到了这个问题无法获得正确的输出

下面的程序是语句覆盖率进行测试:

begin 
if (a== b) {S1; exit;} 
else if (c== d) {S2;} 
else {S3; exit;} 
S4; 
end 

下面给出的测试案例T1,T2,T3和T4中的条款表示 性质由变量a,b,c和d的值满足。确切的数值没有给出 。

T1:A,B,c和d都相等

T2:A,B,c和d都是不同

T3:A = B和c = d

T4:a!= b和c = d

以下给出的测试套件中的哪一个确保了陈述S1,S2,S3的覆盖范围 和S4?

(A)T1,T2,T3
(B)T2,T4
(C)T3,T4
(d)T1,T2,T4

现在我只获得T2作为回答。但是他们给出的答案是选项d

请帮我解决这个问题

回答

4

你必须写下每个测试用例覆盖,并从中挑选从中:

  1. T1 :只有S1执行
  2. T2:只有S3执行
  3. T3:只有在执行S1
  4. T4:S2和S4被执行

所以为了覆盖所有您可能需要T1 + T2 + T4或T2 + T3 + T4。由于后者是不是一种选择,你留下了选项D.

希望这是有道理的