📘 문제 50. 최소 문장/분기 커버리지 테스트 케이스 수
다음 pseudo code를 보고 최소 문장 커버리지 (statement coverage) 테스트 케이스(test case)의 수와
최소 분기 커버리지 (branch coverage) 테스트 케이스(test case)의 수로 가장 적절한 것을 고르시오.
🔢 의사코드 (Pseudo Code)
read a, b;
if (a + b > 10) then
print “Big”;
endif
if (a > 10) then
print “aBig”;
endif
print a, b;
✅ 개념 정리
📌 문장 커버리지 (Statement Coverage)
- 프로그램 내 모든 문장이 최소 1회 이상 실행되었는지를 평가
- 조건문 내의 실행문도 포함
- 조건이 거짓이라도, 다른 케이스로 인해 해당 문장이 한 번이라도 실행되면 충족
📌 분기 커버리지 (Branch Coverage)
- 조건문의 분기(True / False) 양쪽 모두 최소 한 번은 실행되었는지를 평가
- if문은 True 경로, False 경로가 각각 한번씩 나와야 함
🧪 문장 커버리지 분석
전체 실행 문장
read a, b;
print "Big";
(조건 1 참일 때 실행)print "aBig";
(조건 2 참일 때 실행)print a, b;
테스트 케이스 예시
a = 11, b = 0
a + b = 11 > 10
→ 참 →"Big"
출력a = 11 > 10
→ 참 →"aBig"
출력- 나머지 모든 문장도 실행됨
✅ 단 1개의 테스트 케이스로 모든 문장 실행 → 문장 커버리지 충족
🧪 분기 커버리지 분석
분기 조건 2개
if (a + b > 10)
→ True / Falseif (a > 10)
→ True / False
테스트 케이스 예시
TC1:
a = 11, b = 0
- 조건 1: 참
- 조건 2: 참
TC2:
a = 1, b = 1
- 조건 1: 거짓
- 조건 2: 거짓
✅ 두 조건 모두에서 True / False 각각 한 번씩 실행됨 → 분기 커버리지 충족
✅ 최종 정리
항목 | 최소 테스트 케이스 수 | 설명 |
---|---|---|
문장 커버리지 | 1개 | 모든 실행문이 한 번 이상 실행됨 |
분기 커버리지 | 2개 | 모든 조건 분기(True/False) 실행됨 |
🟩 정답: ③번. 문장 커버리지: 1, 분기 커버리지: 2
'정보시스템감리사 > 기출문제_19년_20회' 카테고리의 다른 글
44_클래스다이어그램 (0) | 2025.04.30 |
---|---|
46_java_code분석 (0) | 2025.04.29 |
42_33063_테스트프로세스 (1) | 2025.04.26 |
36_전자정부_표준프레임워크_실행환경 (0) | 2025.04.26 |
35_클래스다이어그램_스테레오타입 (3) | 2025.04.26 |