블랙박스·화이트박스 테스트 기법

Black-box and White-box Testing Techniques

블랙박스 테스트는 내부 구조를 보지 않고 명세(요구사항)를 기반으로 입력·출력을 검증하는 명세 기반 기법이며, 화이트박스 테스트는 소스코드의 내부 논리 구조를 기반으로 커버리지를 충족하도록 테스트 케이스를 설계하는 구조 기반 기법이다.

핵심 키워드

명세 기반 테스트(Specification-based)구조 기반 테스트(Structure-based)동등 분할(Equivalence Partitioning)경계값 분석(Boundary Value Analysis)결정 테이블(Decision Table)상태 전이(State Transition)구문·결정·조건 커버리지MC/DC기본 경로 테스트(McCabe 순환 복잡도)

암기: 블랙박스 "동경결상원페": 동등분할·경계값·결정테이블·상태전이·원인결과그래프·페어와이즈

구성도

정리

1. 개요

  • 필요성: 모든 입력·경로의 완전 테스트는 불가능 → 체계적 기법으로 최소 케이스로 최대 결함 검출
  • 분류: 명세 기반(블랙박스), 구조 기반(화이트박스), 경험 기반(오류 추정, 탐색적 테스트)
  • 관련 표준: ISO/IEC/IEEE 29119(테스트 기법은 Part 4)

2. 구성/원리

① 블랙박스(명세 기반) 기법

기법원리
동등 분할입력 도메인을 동일 동작 클래스로 나눠 대표값 선정
경계값 분석경계 및 경계 ±1 값에 결함 집중 특성 활용
결정 테이블조건 조합과 행동(Action)을 표로 정리
원인-결과 그래프입력(원인)과 출력(결과) 논리 관계를 그래프화 후 결정 테이블 도출
상태 전이상태·이벤트·전이를 모델링하여 유효/무효 전이 검증
페어와이즈(조합)모든 2개 인자 조합을 최소 케이스로 커버
유스케이스사용자 시나리오(주/대안 흐름) 기반

② 화이트박스(구조 기반) 기법 – 커버리지

커버리지기준
구문(문장)모든 문장을 1회 이상 실행
결정(분기)각 결정의 참/거짓을 1회 이상
조건각 개별 조건의 참/거짓을 1회 이상
조건/결정조건 + 결정 커버리지 동시 만족
MC/DC각 개별 조건이 결정 결과에 독립적으로 영향을 줌을 확인
다중 조건모든 조건 조합 실행
기본 경로순환 복잡도 V(G) = E − N + 2 만큼의 독립 경로
데이터 흐름변수 정의(def)-사용(use) 경로

3. 비교

항목블랙박스화이트박스
기반요구사항·명세소스코드·내부 로직
수행 주체테스터, 사용자개발자
주요 단계통합·시스템·인수 테스트단위 테스트
검출 결함누락 기능, 인터페이스·성능 오류논리 오류, 미실행 코드
한계내부 경로 미검증명세 누락 기능 검출 불가

4. 고려사항·최신 동향

  • 고려사항
    • 두 기법은 상호 보완 → 명세 기반으로 설계 후 커버리지로 충분성 측정
    • 커버리지 강도: 다중 조건 > MC/DC > 조건/결정 > 결정 > 구문 (조건 커버리지는 결정 커버리지를 보장하지 않음)
    • 안전 중요 SW: 항공(DO-178C 최고 등급)은 MC/DC, 자동차(ISO 26262)는 ASIL에 따른 커버리지 요구
  • 최신 동향
    • CI 파이프라인 내 자동화 테스트·커버리지 게이트
    • 뮤테이션 테스트로 테스트 케이스 품질 평가, 퍼징 확산
    • AI 기반 테스트 케이스 자동 생성

함께 볼 토픽

v1 · 2026. 10. 19. 갱신 · 틀린 내용을 발견하면 알려 주세요.