QA Outsourcing & Consulting

[ISTQB] FL 19 <Decision coverage, Equivalence partitions> 본문

IT Trend/ISTQB FL

[ISTQB] FL 19 <Decision coverage, Equivalence partitions>

인프라웨어테크놀러지(IT) 2019. 3. 29. 16:35

 

Q. Given the following fragment of code, how many tests are required for 100% decision coverage?

if width > length
then
biggest_dimension = width
if height > width
then
biggest_dimension = height
end_if
else
biggest_dimension = length
if height > length
then
biggest_dimension = height
end_if
end_if

A. 3
B. 4
C. 2
D. 1

 

<해설>
코드를 보고 Decision Coverage를 맞추는 문제입니다.
코드를 보고 순서도를 그려보면 좀 더 쉽게 맞출 수 있습니다.
물론 좀 더 숙달된 사람은 if, then, else가 어디에 몇 개있는지만 보고도 바로 계산이 가능하기도 합니다.
위 코드에 대한 순서도를 그려보면 다음과 같습니다.

[ISTQB] FL 9에서 설명했듯이 Decision Coverage는 Branch coverage라고도 불립니다.
실라버스 4.4.1과 4.4.2를 보면 Statement Coverage(구문 커버리지)와 Decision Coverage(결정 커버리지)에 대한 설명이 나옵니다.
Statement Coverage는 모든 노드를 통과하는 가장 짧은 경로 수를 구하면 됩니다.
Decision Coverage는 모든 엣지를 커버할 수 있는 최소 경로 수를 수하면 됩니다.
그럼 정확히 노드와 엣지가 무엇인지 알아야 합니다.
노드는 입력, 종료, 결정 및 각 코드 구문을 나타내는 말입니다. 알기 쉽게 말해 각각의 박스들을 말합니다.
엣지는 노드 간의 링크를 말합니다. 알기 쉽게 말해 노드들을 잇는 화살표라고 보면 됩니다.

문제에서 Decision Coverage를 구하라고 했으니 모든 엣지를 커버할 수 있는 최소 경로 수를 구하면 됩니다.
1A-2B-3C-4E-F
1A-2B-3D-F
1G-5H-6I-7K-L
1G-5H-J-L

A.B


Q. A thermometer measures temperature in whole degrees only. If the temperature falls below 18 degrees, the heating is switched off. It is switched on again when the temperature reaches 21 degrees. What are the best values in degrees to cover all equivalence partitions?

A. 15, 19 and 25.
B. 17, 18 and19.
C. 18, 20 and22.
D. 16, 26 and 32.

<해설>
문제는 길지만 중요한 건 숫자와 equivalence partitions라는 단어입니다.
equivalence partitions은 우리말로 동등 분할이라 하는데 실라버스 4.3.1에서 그 내용을 확인할 수 있습니다.
동등 분할은 입력은 다양하지만 결과값이 같으면 그것들을 하나의 클래스로 간주하는 것입니다.
즉 이문제를 간단히 그려보면
---x---18---y---21---z---
이렇게 됩니다.
18미만의 클래스 하나, 18과 21사이 클래스 하나, 21이상 클래스 하나입니다.
즉 각각의 클래스에 들어갈 값을 구하면 됩니다.

A. A

Comments