CS 길라잡이
정보처리기사 이론
읽기 설정
글꼴 조합

제목 · 본문 순서예요. 선택하면 지금 읽는 화면에 적용돼요.

글꼴 출처 ↗
읽기 글자 크기

정보처리기사 · 테스트 설계·검증 · 14/16

문장을 다 실행해도 놓칠 수 있는 경로

문장 커버리지가 100%인데 왜 거짓 분기를 한 번도 지나지 않았을까?

커버리지는 정한 항목을 실행한 비율이다. 어떤 문장과 제어흐름 간선을 분모로 삼았는지부터 확인해야 숫자를 비교할 수 있다.

별도의 가상 대출 정책은 일반 회원 7일, 연장 승인 회원 21일이다. extended는 불리언이라고 가정한다. 아래 코드에서 S1·S2·S3로 표시한 세 문장을 실행 항목으로 센다. D1은 이 그림의 판단 노드이며 표시 문장 집계에서 뺐다. true 한 번이면 세 문장을 모두 실행하지만 D1에서 곧바로 S3으로 가는 거짓 경로는 지나지 않는다.

제어흐름 그림은 시작·S1·D1·S2·S3·종료를 잇는 e1~e6 여섯 간선을 직접 정의한다. 참 경로는 e1·e2·e3·e5·e6, 거짓 경로는 e1·e2·e4·e6이다. 이 그림의 전체 간선을 분모로 세면 true만으로는 5/6, false만으로는 4/6이며 둘을 합쳐야 6/6이다. D1의 참·거짓 두 결과만 세는 지표와 이 여섯 간선 지표를 같은 분모로 쓰지 않는다.

문장이나 분기를 지났다는 사실은 그 결과가 업무 규칙에 맞는지까지 판단하지 않는다. S2의 21을 실수로 20으로 바꿔도 두 입력은 같은 간선을 지나간다. 연장 승인 회원의 예상값을 별도로 21이라고 비교해야 이 결함을 발견한다. 실제 도구는 언어·계측 설정에 따라 항목을 나누므로 이 작은 그림의 개수를 그대로 다른 보고서에 적용하지 않는다.

  1. 01 →

    실행 항목을 정한다

  2. 02 →

    입력별 경로를 추적한다

  3. 03 →

    합집합으로 비율을 센다

  4. 04

    예상 반환값도 비교한다

분모를 먼저 정한 창작 제어흐름 · 간선 6개
같은 반환 지점으로 모이는 참·거짓 경로시작에서 S1과 D1을 지난다. 참이면 S2 뒤 S3으로, 거짓이면 바로 S3으로 간다. S3 뒤 종료한다. 여섯 간선 중 참 경로는 e1·e2·e3·e5·e6이며 거짓 경로는 e1·e2·e4·e6이다.e1e2e3 · 참e4 · 거짓e5e6시작S1 · 7D1S2 · 21S3 반환종료

무조건 흐름도 간선으로 셉니다. D1의 두 결과만 세는 비율과 분모가 다릅니다.

같은 상황에서 비교하기

개념의 기준과 확인할 점
개념기준확인할 점
문장 실행률S1·S2·S3 중 실행한 항목true만으로도 세 문장을 지난다
이 그림의 간선 실행률e1~e6 중 지난 항목true만이면 e4가 빠진다
결과의 옳고 그름합의한 정책과 실제 반환 비교21 대신 20이면 경로가 같아도 실패다

도서관 예제로 따라가기

function allowedDays(extended) {
  let days = 7; // S1
  if (extended) { // D1
    days = 21; // S2
  }
  return days; // S3
}
표시 문장·창작 흐름 그래프 · 격리된 Node 계측으로 확인
입력 집합반환값표시 문장그림 간선
true만213/3 = 100%5/6 ≈ 83.33%
false만72/3 ≈ 66.67%4/6 ≈ 66.67%
false와 true7, 213/3 = 100%6/6 = 100%

분모는 표시한 문장 3개와 그림의 간선 6개로 고정한다. 실행률은 테스트 집합에서 한 번 이상 거친 항목의 합집합으로 세며 반복 실행 횟수를 더하지 않는다. 소수 비율은 둘째 자리까지 반올림했다. 조건 커버리지·MC/DC와 예외·반복문 경로는 이 예제의 범위 밖이다.

내 말로 설명해 보기

true 한 건의 문장 실행률과 간선 실행률이 다른 이유를 그림의 e4로 설명해 보자. 반환값 검사는 왜 별도로 필요한가?

0/6,000자 · 브라우저 저장 · 계정 동기화 없음

설명한 뒤 점검하기

설명 예시 확인

true는 S1·S2·S3을 모두 지나지만 D1의 거짓 간선 e4는 지나지 않아 각각 3/3과 5/6이다. false를 보태면 e4도 지나지만 반환값 21이 정책과 같은지 비교하지 않으면 잘못된 상수 같은 결함을 놓칠 수 있다.

암기한 문장과 같을 필요는 없어요. 개념의 기준과 예외가 맞는지 비교하세요.

참고한 자료

동등 분할·경계값·문장과 분기·수정 확인과 회귀 ↗

ISTQB CTFL v4.0.1 · 2024-09-15 · © ISTQB 및 저자 · 개념 분류 참고, 독립 해설 · 확인 2026-10-28

테스트 오라클과 테스트의 한계 ↗

SWEBOK 공개 위키 · Software Testing · 게시일 미표시 · 개념 참고 · 확인 2026-10-28

이전 개념 자료와의 연결

이전 자료에서 다룬 주제를 이어받아 설명과 예시를 다시 썼어요.