카테고리 없음

[CS] Statement Coverage 문장 커버리지

bay07 2025. 4. 21. 18:50


**알고리즘 순서도에서 문장 커버리지(statement coverage)**는 코드의 각 문장이 최소 한 번씩 실행되었는지를 확인하는 테스트 커버리지 기준이다.

순서도에서 문장 커버리지를 표현하는 방법:

1. 순서도의 각 블록(문장 또는 명령문)을 식별
예: 시작 → 입력 a, b → 비교 → 출력 등

2. 모든 문장을 최소 한 번 실행하는 경로를 설계
테스트 케이스를 만들 때, 순서도의 모든 블록을 지나도록 설정함

3. 각 테스트 케이스가 어떤 블록을 지나가는지 표시
블록 옆에 체크 표시하거나 색을 칠해서 어떤 경로를 따라갔는지 나타냄


---

예시 순서도 (간단한 if 문)

Start
  |
입력 a
  |
a > 0?
/     \
Y       N
|       |
출력 양수  출력 음수
\     /
  End

문장 커버리지를 위한 테스트 케이스:

a = 5 → "a > 0?" → Y → "출력 양수"

a = -3 → "a > 0?" → N → "출력 음수"


이 두 케이스로 모든 문장을 실행해봤으므로 문장 커버리지는 100% 달성!

---

핵심 포인트:

순서도에서 각 명령문을 지나가게 하는 테스트 케이스를 설계하는 게 핵심

단순히 if 문의 분기를 나누는 것만이 아니라, 실제 모든 블록을 최소 1회 실행했는지 확인하는 것이 목적이다