[SW테스팅] 블랙박스테스트 기법- 경계값 분석 (BVA) - 2-포인트,3-포인트

ACAI BERRY DEVELOVER·2023년 8월 24일
0

다음 글은 ISTQB시험에서 경계값분석 문제를 모두 틀리고 나서 경각심을 갖고 시험 직후에 다시 공부하고 정리해놓은 글이다.

✅ 실라버스 4.2.2 경계값 분석 요약

경계값 분석은 동등 분할의 확장 형태이다.
각 파티션이 순서화되어있고, 숫자 또는 연속 데이터로 구성된 경우에만 적용할 수 있다.

분할의 최소값과 최대값은 해당 분할의 경계값이 된다. 동등 분할의 경계에서 동작이 잘못될 확률이 동등 분할 중간의 값에서 잘못된 확률에 비해 높다. 명시된 경계값과 구현한 경계값 모두 의도했던 값보다 높거나 낮게 설정되거나, 모두 생략하거나 의도하지 않았던 경계값이 추가되었을 수 있다. 경계값 분석과 테스팅을 통해 소프트웨어 경계값이 원래 속한 분할의 동작이 아닌 다른 분할의 동작을 수행하는 것과 같은 종류의 결함 대부분을 식별할 수 있다.

경계값 분석은 모든 테스트 레벨에 적용할 수 있다. 이 기법은 일반적으로 숫자의 범위(날짜,시간 포함)와 연관된 요구사항을 테스트하는 데 적용된다. 경계값 커버리지는 보통 백분율로 표기하며, 테스트한 경계값의 수를 식별한 모든 경계값의 수로 나눠서 계산한다. -실라버스 4.2.2 경계값 분석-


예제문제1)
✔︎ 샘플 Exam C에서 문제 발췌

26. 당신은 향신료, 밀가루 및 기타 품목을 대량으로 판매하는 전자 상거래 시스템을 테스트하고
있다. 품목 판매 단위는 그램(향료 및 기타 고가 품목의 경우) 또는 킬로그램(밀가루 및 기타
저가 품목의 경우) 중 하나이다. 단위에 상관없이 최소 유효 단위는 0.5 단위(예, 강황 0.5g),
최대 유효 단위는 25 단위(예, 설탕 25kg)이다. 단위의 정밀도는 0.1이다.
다음 중 이 입력값에 대한 2-포인트 경계값을 커버하는 입력값의 묶음은?


a) 0.3, 10.0, 28.0
b) 0.4, 0.5, 0.6, 24,9,25,0, 25.1
c) 0.4, 0.5, 25.0 25.1
d) 0.5, 0.6, 24.9, 25.0 

비유효 파티션 : 0.4 이하
유효 파티션 : 0.5 - 25
비유효 파티션 : 25.1 이상

a) 0.3, 10.0, 28.0 -> 동등분할 파티션을 커버하는 요소.
b) 0.4, 0.5, 0.6, 24,9,25,0, 25.1 -> 3-포인트 경계값 요소.

3-point 경계값 분석 : 경계값 직전 값, 경계값, 경계값 직후 값해서 3개.

c) 0.4, 0.5, 25.0 25.1 -> 2-포인트 경계값 요소
d) 0.5, 0.6, 24.9, 25.0 -> 유효파티션에에만 해당되는 값.


✅ 경계값 2-point, 3-point 분석 (올해8월 ISTQB CFTL 시험에서 2-point문제만 2개 출제됨)

☑️ 2-point : 경계값은 각 파티션의 최댓값과 최솟값으로 한다.
비유효 파티션의 다른 경계값 또는 끝값은 고려되어지지 않을 수 있다.

ex) 0.5 <= 유효한 파티션 <=25
유효 파티션의 최댓값은 25이며, 최솟값은 0.5이다.
비유효 파티션의 경계값은 0.4와 25.1이 된다. 각 비유효 파티션 2개의 또 다른 경계값은 알 수 없다.

☑️ 3-point : 경계값은 파티션을 고려해야 하며 정확한 경계값은 명세에 따라 달라진다. 잘못 설정된 경계값은 발견하기 위하여 경계의 양쪽 값을 모두 선택한다.

Reference :https://testmanager.tistory.com/361
Reference:https://coding-factory.tistory.com/653(보수개념)


예제문제2)
✔︎ 샘플 Exam A에서 문제 발췌

Q26. 속도 제어 및 알림 시스템이 다음과 같이 동작한다:
• 50 km/h 이하로 주행 시 아무 일도 일어나지 않음
• 50 km/h 보다는 빠르지만, 55 km/h 이하인 경우 경고 메시지 표시
• 55 km/h 보다는 빠르지만, 60 km/h 이하로 주행 시 벌금 부과
• 60 km/h 보다 빠르게 주행 시 운전 면허 중지
속도 단위 Km/h 는 시스템에서 정수만 가능
동등 클래스(equivalence classes) 경계에 있는 값만을 선택하는 경계 값 분석을 적용해
식별할 수 있는 값 세트(km/h)로 가장 적절한 것은?


a) 0, 49, 50, 54, 59, 60
b) 50, 55, 60
c) 49, 50, 54, 55, 60, 62
d) 50, 51, 55, 56, 60, 61


각 동등 클래스의 최솟값과 최댓값을 구하면 된다.
첫번째 : 50이하
두번째 : 51~55
세번째 : 56~60
네번째 : 60이상

경계값 : 50, 51,55,56,60,61 이 된다.

예제문제3)
✔︎ 샘플 Exam B에서 문제 발췌

Q 23. 스마트 홈 앱은 이전 주의 집안 평균 기온을 측정하고 이를 기반으로 환경 친화적인 관점에서
거주자에게 피드백을 제공한다.
다양한 기온 범위에 대한 피드백은 다음과 같다:
~10°C - 매우 추움
11°C ~ 15°C - 서늘함
16°C ~ 19°C - 쾌적함
20°C ~ 22°C - 따뜻함
23°C ~ - 너무 더움
최소값과 최대값만 사용하는 경계값 분석(BVA only Min-Max values)을 적용할 때, 다음 테스트
입력값 집합에서 경계값 분석 커버리지가 가장 높은 것은 무엇인가?
A. 0°C, 11°C, 20°C, 22°C, 23°C
B. 9°C, 15°C, 19°C, 23°C, 100°C
C. 10°C, 16°C, 19°C, 22°C, 23°C
D. 14°C, 15°C, 18°C, 19°C, 21°C, 22°C

주어진 입력 동등 파티션에서는 8개의 커버리지 항목이 생긴다.

~10°C - 매우 추움 ➡️ 10
11°C ~ 15°C - 서늘함 ➡️ 11,15
16°C ~ 19°C - 쾌적함 ➡️ 16,19
20°C ~ 22°C - 따뜻함 ➡️ 20,22
23°C ~ - 너무 더움 ➡️ 23

: 10,11,15,16,19,20,22,23

커버리지율:
A. 0°C, 11°C, 20°C, 22°C, 23°C ➡️ 4/8
B. 9°C, 15°C, 19°C, 23°C, 100°C ➡️ 3/8
C. 10°C, 16°C, 19°C, 22°C, 23°C ➡️ 5/8
D. 14°C, 15°C, 18°C, 19°C, 21°C, 22°C ➡️ 3/8

답은 커버리지가 가장 높은 C이다.


✅ 포스팅을 마치며

어제 본 istqb 시험에서 경계값분석 문제가 2개나 나왔다. 그리고 난 그 2개 다 틀렸다..ㅋ
경계값분석에 대한 개념이 제대로 잡혀있었지 않았고, 2-포인트,3-포인트가 너무 헷갈렸다. 보통 입력 동등 분할 클래스의 최솟값,최댓값이 경계값이고 그게 2-포인트 경계값 분석인데,,, 실라버스랑 샘플문제만 공부해도 도저히 모르겠어서 경계값 분석에 대해 여러개 서치해서 공부했는데 이제서야 감이 좀 온다. 위에 인용한 포스팅에서 경계값분석을 통해 직접 테스트케이스까지 도출하는 걸 봤는데 그러다 16비트값까지 공부하게 되고 보수의 개념까지 공부하게 되었다. 컴퓨터는 음과 양의 정수를 표현하기 위해 2의 보수를 사용한다는 걸 알았고,, 사실 집중이 잘 안되서 아 이렇구나까지만 공부했다. 아마 다음에 보수 얘기 나오면 또 뭐지 싶을 듯...ㅋㅋ

여하튼 경계값 분석은 제대로 정리하고 간다. 뿌듯

profile
쓸때 대충 쓰지 말고! 공부하면서 써!

0개의 댓글