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 回答 1

4

您必须写下每个测试用例涵盖的内容,并从中挑选:

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

因此,为了涵盖所有这些,您需要 T1+T2+T4 或 T2+T3+T4。由于后者不是一个选项,因此您只剩下选项 D。

希望有意义

于 2013-01-18T16:51:43.263 回答