QA Outsourcing & Consulting

[ISTQB] FL 11 <Statement coverage, Branch coverage> 본문

IT Trend/ISTQB FL

[ISTQB] FL 11 <Statement coverage, Branch coverage>

인프라웨어테크놀러지(IT) 2019. 2. 12. 11:24



Q. Given the following:


Switch PC on

Start “outlook”

IF outlook appears THEN

Send an email

Close outlook


A) 1 test for statement coverage, 1 for branch coverage

B) 1 test for statement coverage, 2 for branch coverage

C) 1 test for statement coverage. 3 for branch coverage

D) 2 tests for statement coverage, 2 for branch coverage

E) 2 tests for statement coverage, 3 for branch coverage


<해설>

매우 간단한 코드로 따로 흐름도를 그리지 않아도 쉽게 정답을 찾을 수 있는 문제입니다.

쭉 코드가 내려오다가 IF에서 한 번 분기가 됩니다.

statement coverage는 모든 노드를 지나갈 수 있는 경우의 수, branch coverage는 모든 엣지를 다 커버 가능한 최소 개수를 구하면 됩니다.

따라서, statement coverage는 1, branch coverage는 분기로 갈라지는 경로 하나를 더 거쳐가야 하므로 2가 됩니다.


A. B



Q. Given the following code, which is true:


IF A > B THEN

C = A – B

ELSE

C = A + B

ENDIF

Read D

IF C = D Then

Print “Error”

ENDIF


<해설>

이건 위 문제와 약간 다른 문제입니다.

중간에 ELSE가 있습니다. 즉, 코드가 한 번에 쭉 내려오지 못합니다.

머리로만 생각하기에는 조금 어려우니 흐름도를 그려보면




이렇게 됩니다.

위에 IF 분기에서 무조건 THEN일 때와 ELSE일 때 둘로 나뉘어져 내려가야 합니다.

즉 처리해야 할 코드가 있는데 한 번만으로는 불가능합니다.

따라서 두 번 코드 돌려야 전부 커버되므로 statement는 2입니다

branch는 모든 엣지를 통과하는 최소 개수인데 위 IF문에서는 엣지가 두 개이므로 갈라져야 합니다.

아래에서는 한쪽으로만 가도 엣지를 거쳐가므로 Branch는 2입니다.


A) 1 test for statement coverage, 3 for branch coverage

B) 2 tests for statement coverage, 2 for branch coverage

C) 2 tests for statement coverage. 3 for branch coverage

D) 3 tests for statement coverage, 3 for branch coverage

E) 3 tests for statement coverage, 2 for branch coverage


A. B

Comments