자격증/정보처리기사

[정보처리기사 실기 이론] 화이트박스 테스트 개념 및 유형 종류, 커버리지 개념

꾸행일기 2025. 7. 14. 08:00

🧩 화이트박스 테스트란?

  •  프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트.
  • 코드분석과 프로그램 구조에 대한 지식 바탕으로 문제 발생 가능성이 있는 모듈 내부 테스트 방법
  • 소스 코드의 모든 문장을 한 번 이상 수행함으로써 진행
  • 산출물의 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
  • 구조 기반 테스트, 코드 기반 테스트, 로직 기반 테스트, 글래스 박스 테스라고 부른다.

✅ 화이트박스 테스트 주요 유형

[구결조 조변다 기제데루]

유형 키워드 요약개념설명 비유 예시
*구문(=문장) 커버리지
(Statemanet Coverage)
모든 문장 실행 프로그램의 **모든 코드 라인(문장)**이 최소 1번은 실행되었는지 확인 책을 한 줄도 빼먹지 않고 읽었는지 확인하는 것 if, else, return 등 모든 라인을 실행해 봤는지 확인
*결정(=분기,선택) 커버리지
(Decision, Branch Coverage)
모든 조건 분기 실행 if, switch 같은 조건 분기문의 모든 참/거짓 경로를 실행했는지 확인 갈림길에서 모든 방향으로 가봤는지 확인하는 것 if문이 참일 때, 거짓일 때 모두 테스트
*조건 커버리지
(Condition Coverage)
조건 안의 각 항목이 참/거짓 모두 실행 복합 조건(if A && B)의 **각 부분 조건(A, B)**이 참/거짓으로 실행되는지 AND 조건 내 각각을 개별로 확인하는 시험 A: 참/거짓, B: 참/거짓 → 각 케이스를 개별 확인
건/결정 커버리지
(Condition/Decision Coverage)
조건 & 결과 동시 확인 조건 항목들과 최종 결과가 모두 참/거짓 조합으로 실행되는지 확인 분기점과 각각의 이유를 동시에 체크하는 것 A&&B 조건을 A, B 별로 확인하고 전체 판단 결과도 본다
중 조건 커버리지
(Multi Condition Coverage)
모든 조건 조합 실행 AND/OR 등 여러 조건들의 모든 가능한 조합을 테스트 신호등의 모든 색 조합을 다 눌러보는 것 A, B, C가 있을 때 2ⁿ(8개)의 조합을 테스트
*기본 경로(=경로) 커버리지
(Base Path Coverage)
모든 경로 테스트  "" 맥케이브의 순환복잡도 계산 할 줄 알아야함."" 간선 수 - 노드 수 + 2
조건 분기문 +1
 
어 흐름 테스트
(Control Flow Testing)
프로그램 제어구조를 그래프화하여 내부 조직 테스트      

변 : 변경조건-결정 커버리지
데 : 데이터 흐름 테스트
루 : 루프테스트


📌 한눈에 보기

테스트 유형 검사 비유
구문(문장) 커버리지 코드 한 줄 한 줄 책을 다 읽었는지
결정(분기) 커버리지 조건문의 분기 방향 갈림길 양쪽 가봤는지
조건 커버리지 조건 안 각 항목 조건문 안의 A, B 따로 검사
조건/결정 커버리지 조건 + 결과 이유도, 결과도 다 체크
다중 조건 커버리지 조건 조합 모두 A, B, C 모든 경우 조합
 

🧠 빠른 암기법

🔸 두음문자 암기: 👉 구결조 조변다 기제데루
(문(문장) → 정(분기) → 건 → /결 →  화조건/결정 → 중 → 본경로 → 어흐름 → 이터흐름 → 프)

 
 

🎓 암기 퀴즈용 정리

문장 정답
프로그램의 모든 코드 줄이 최소 한 번은 실행되었는지 확인하는 테스트는? 구문 커버리지
조건식 전체가 참/거짓이 되도록 분기만 확인하는 테스트는? 결정 커버리지
조건식 안의 각 항목이 참/거짓이 되도록 검사하는 테스트는? 조건 커버리지
조건의 개별 항목과 전체 결과를 동시에 검사하는 테스트는? 조건/결정 커버리지
A, B, C 등 조건의 모든 조합을 테스트하는 방식은? 다중 조건 커버리지
모든 루프와 논리 경로를 따라가며 테스트하는 방식은? 기본 경로 커버리지
프로그램의 흐름도(분기, 반복 등)를 따라가며 확인하는 테스트는? 제어 흐름 테스트