[시나공] 테스트 유형 정리 (화이트박스·블랙박스 핵심 총정리)
2026. 3. 4. 14:57ㆍCertifications/정보처리기사 실기
1️⃣ 애플리케이션 테스트
✅ 정의
- 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
🔹 목적
- Validation(확인): 고객 요구사항 만족 여부 확인
- Verification(검증): 명세대로 기능이 정확히 수행되는지 확인
🎯 포인트
- "요구사항 만족" → Validation
- "명세대로 수행" → Verification
✅ 기본 원리 ⭐
🔹 파레토 법칙 (Pareto Principle)
- 전체 결함의 80%는 코드의 20%에서 발생
🔹 살충제 패러독스 (Pesticide Paradox)
- 동일한 테스트 케이스를 반복하면 새로운 결함을 발견하기 어려움
🔹 오류-부재의 궤변 (Absence of Errors Fallacy)
- 결함이 없다고 해서 품질이 높은 것은 아님
🎯 포인트
- "8:2" = 파레토
- "동일 테스트 반복 → 결함 발견 어려움" = 살충제 패러독스
- "오류 없음 ≠ 품질 보장" = 오류-부재의 궤변
2️⃣ 테스트 분류 기준
✅ 프로그램 실행 여부에 따른 테스트 ⭐
| 구분 | 설명 | 종류 |
|---|---|---|
| 정적 테스트 (Static Test) |
프로그램을 실행하지 않고 분석 명세서, 소스 코드 검토 |
워크스루 인스펙션 코드 검사 |
| 동적 테스트 (Dynamic Test) |
프로그램을 실행하여 오류 발견 |
블랙박스 테스트 화이트박스 테스트 |
🔎
실행 X → 정적 테스트
실행 O → 동적 테스트
✅ 테스트 분류 기준
| 분류 기준 | 구분 | 관점 | 설명 |
|---|---|---|---|
| 시각에 따른 테스트 | 검증 (Verification) | 개발자 관점 | 명세대로 구현되었는지 확인 |
| 확인 (Validation) | 사용자 관점 | 요구사항 만족 여부 확인 | |
| 목적에 따른 테스트 | 회복 (Recovery) | - | 시스템 장애 후 정상 복구 여부 확인 |
| 안전 (Security) | - | 불법 침입으로부터 보호 가능 여부 확인 | |
| 강도 (Stress) | - | 과부하 상황에서 정상 동작 여부 확인 | |
| 성능 (Performance) | - | 응답 시간 및 처리량 측정 | |
| 구조 (Structure) | - | 내부 논리 경로 및 복잡도 평가 | |
| 회귀 (Regression) | - | 수정 후 기존 기능 정상 동작 여부 확인 | |
| 병행 (Parallel) | - | 기존 시스템과 신규 시스템에 동일한 데이터를 입력하여 결과를 비교 |
🎯 포인트
- 수정 후 영향 확인 = 회귀 테스트
- 과부하 상황 점검 = 강도 테스트
- 침입 대비 = 안전 테스트
📌 목적에 따른 테스트 = "회·안·강·성·구·회·병"
3️⃣ 화이트박스 테스트 (White Box Test) ⭐
✅ 정의
- 원시 코드(소스 코드)를 공개한 상태에서 원시 코드의 논리적 모든 경로를 테스트하도록 케이스를 설계
✅ 특징
- 모든 경로를 테스트 케이스로 설계
- 코드 복잡도 측정 가능
- 내부 구조 분석 가능
📌 화이트박스 테스트
→ "내부 로직·경로 중심", "구조 기반 테스트"
✅ 화이트박스 테스트의 종류
🔹 기초 경로 검사 (Base Path Testing)
- 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 기법
- 대표적인 화이트박스 테스트 기법
🔹 제어 구조 검사 (Control Structure Testing)
- 프로그램의 제어 흐름(조건문, 반복문 등)을 중심으로 테스트 케이스를 설계하는 기법
- 내부 구조의 흐름을 기준으로 테스트 수행
- 조건 검사 (Condition Testing)
- 루프 검사 (Loop Testing)
- 데이터 흐름 검사 (Data Flow Testing)
🎯 포인트
- “논리적 복잡성 측정” → 기초 경로 검사
- “조건/루프/데이터 흐름 중심” → 제어 구조 검사
✅ 화이트박스 테스트의 검증 기준 (Coverage)
| 검증 기준 | 의미 |
|---|---|
|
문장 검증 기준 (Statement Coverage) |
소스 코드의 모든 구문이 1번 이상 수행되도록 테스트 케이스 설계 |
|
결정 검증 기준 (Decision Coverage) = 분기 검증 기준 |
모든 조건문의 결과가 True / False 각각 1번 이상 수행되도록 설계 |
|
조건 검증 기준 (Condition Coverage) |
조건문에 포함된 개별 조건식의 결과가 True / False 각각 1번 이상 수행 |
|
조건/결정 검증 기준 (Condition/Decision Coverage) |
조건 검증 기준 + 결정 검증 기준을 모두 만족 |
|
변경 조건/결정 검증 기준 (MC/DC) |
각 개별 조건식이 다른 조건과 무관하게 전체 결과에 독립적으로 영향을 주도록 설계 |
|
다중 조건 검증 기준 (Multiple Condition Coverage) |
조건문에 포함된 모든 개별 조건식의 모든 조합을 고려하여 테스트 케이스 설계 |
4️⃣ 블랙박스 테스트 (Black Box Test) ⭐
✅ 정의
- 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 기능 테스트(Functional Test) 라고도 함
✅ 특징
- 사용자 관점
- 입력과 출력 중심
- 명세 기반 테스트
📌 블랙박스 테스트
→ "기능 테스트", "명세 기반", "입력/출력 중심"
✅ 블랙박스 테스트의 종류
| 테스트 기법 | 설명 | 시험 키워드 |
|---|---|---|
|
동치 분할 검사 (Equivalence Partitioning) |
입력 자료를 유효/무효의 동치 클래스(그룹)로 나누고 각 클래스의 대표값을 선택하여 테스트 케이스 설계 |
입력을 그룹으로 나눔 |
|
경계값 분석 (Boundary Value Analysis) |
오류가 경계에서 잘 발생하는 특성을 이용하여 최솟값/최댓값 및 그 주변 값을 집중 테스트 |
경계에서 오류 발생 |
|
원인-효과 그래프 검사 (Cause-Effect Graphing) |
입력(원인)과 출력(효과)의 관계를 그래프로 분석하여 효율적인 테스트 케이스 선정 |
원인-결과 관계 분석 |
|
오류 예측 검사 (Error Guessing) |
과거 경험이나 직감을 기반으로 오류가 발생할 가능성이 높은 부분을 예측하여 테스트 |
경험 / 직감 기반 |
|
비교 검사 (Comparison Testing) |
여러 버전의 프로그램에 동일한 테스트 데이터를 입력하여 동일한 결과가 출력되는지 비교 | 버전 비교 / 결과 동일성 |
🎯 포인트
- “입력을 그룹으로 나눔(동치 클래스)” = 동치 분할
- “경계에서 오류 확률↑” = 경계값 분석
- “경험/감각 기반” = 오류 예측
- “버전 비교” = 비교 검사
| 구분 | 화이트박스 (White Box) | 블랙박스 (Black Box) |
|---|---|---|
| 기준 | 내부 구조 | 기능 |
| 관점 | 개발자 | 사용자 |
| 분석 대상 | 소스 코드 | 요구사항 명세 |
| 테스트 방식 | 경로 / 구조 중심 | 입력 / 출력 중심 |
🎯 포인트
- 내부 구조 → 화이트박스
- 기능 중심 → 블랙박스
📊 시험 포인트 정리
🔥 1. 정적 vs 동적 테스트 구분 문제
→ "실행 여부" 키워드 확인
🔥 2. 살충제 패러독스 거의 매년 출제
→ 동일 테스트 반복 시 결함 발견 어려움
🔥 3. Verification / Validation 혼동 문제
→ 개발자 관점 vs 사용자 관점 정확히 구분
🔥 4. 화이트박스 vs 블랙박스 정의형 문제
→ 내부 구조 / 기능 중심 구분 암기 필수
🔥 5. 회귀 테스트 개념 출제 빈도 ↑
→ 수정 후 기존 기능 정상 동작 확인
📌 암기 핵심 요약
- 실행 X → 정적 테스트
- 실행 O → 동적 테스트
- 개발자 관점 → Verification
- 사용자 관점 → Validation
- 내부 구조 → 화이트박스
- 기능 중심 → 블랙박스
- 수정 후 점검 → 회귀 테스트
- 동일 테스트 반복 → 살충제 패러독스

2025 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)
※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.
'Certifications > 정보처리기사 실기' 카테고리의 다른 글
| [시나공] 테스트 오라클·테스트 하네스·순환 복잡도 정리 (정적·동적 분석 포함) (0) | 2026.03.05 |
|---|---|
| [시나공] 개발 단계별 테스트 전략 총정리 (V-모델 기반) (0) | 2026.03.05 |
| [시나공] 화면 설계 도구 · 품질 특성 · HCI 정리 (0) | 2026.03.04 |
| [시나공] UI/UX 핵심 이론 정리 (UI·UX·CLI·GUI·NUI·기본 원칙) (0) | 2026.03.04 |
| [시나공] 인터페이스·미들웨어·연계 기술 (0) | 2026.03.04 |