PMDEXIT 프로젝트 용어사전

블랙박스 화이트박스 테스트

“명세로 짜면 블랙박스, 코드로 짜면 화이트박스”

검수블랙박스 테스트화이트박스 테스트동등분할

블랙박스 테스트와 화이트박스 테스트는 테스트 케이스를 무엇을 보고 만드느냐로 나뉘어요. ISTQB 파운데이션 실러버스 v4.0.1은 블랙박스를 명세 기반 기법, 화이트박스를 구조 기반 기법이라고 부르고, 여기에 경험 기반 기법을 더해 셋으로 분류하죠. 블랙박스는 내부 구조를 보지 않고 명세된 동작만 분석하기 때문에 구현이 바뀌어도 요구 동작이 같으면 케이스를 그대로 쓸 수 있어요. 화이트박스는 코드의 구조와 처리를 분석하므로 설계나 구현이 끝난 뒤에야 케이스를 만들 수 있고요. 검수 시나리오는 블랙박스 기법에서, 단위 시험의 커버리지는 화이트박스 기법에서 나온다고 보면 SI 일정표에 두 시험을 어디에 넣을지 정하기 쉬워요.

구분블랙박스화이트박스
다른 이름명세 기반 기법구조 기반 기법
케이스를 만드는 근거명세된 동작, 요구사항코드의 내부 구조와 처리
만들 수 있는 시점명세가 나온 뒤설계나 구현 뒤
대표 기법동등분할, 경계값 분석, 결정 테이블, 상태 전이구문 테스트, 분기 테스트
커버리지 분모파티션, 경계값, 결정 규칙 열, 전이실행 가능 구문, 분기
놓치기 쉬운 결함실행되지 않은 코드 경로구현되지 않은 요구사항
블랙박스와 화이트박스 테스트 비교 (ISTQB CTFL 실러버스 v4.0.1 기준, 2026-10-28 확인)

블랙박스 테스트와 화이트박스 테스트는 무엇이 다른가요?

블랙박스는 명세된 동작을 보고 케이스를 만들고, 화이트박스는 코드 구조를 보고 만들어요. 그래서 블랙박스 케이스는 구현이 바뀌어도 쓸 수 있고, 화이트박스 케이스는 구현 뒤에만 만들 수 있어요.

ISTQB 실러버스는 블랙박스 기법을 테스트 대상의 내부 구조를 참조하지 않고 명세된 행동을 분석하는 기법으로 정의해요. 케이스가 구현 방식과 독립적이라 코드를 고쳐도 요구 동작이 그대로면 다시 쓸 수 있죠.

화이트박스 기법은 테스트 대상의 내부 구조와 처리를 분석하는 기법이라, 소프트웨어가 어떻게 설계됐는지에 케이스가 묶여요. 그래서 설계나 구현이 끝나야 케이스가 나와요.

경험 기반 기법은 테스터의 지식과 경험으로 케이스를 만들고, 앞의 두 기법이 놓친 결함을 잡는 보완 역할을 해요. 실무에서는 현업이 참여하는 인수 시험이 블랙박스, 개발자가 하는 단위 시험이 화이트박스인 경우가 많아요.

블랙박스 테스트 기법은 무엇이 있나요?

실러버스가 다루는 블랙박스 기법은 동등분할, 경계값 분석, 결정 테이블 테스트, 상태 전이 테스트 네 가지예요.

동등분할은 같은 방식으로 처리될 값들을 한 파티션으로 묶고 파티션마다 케이스 하나로 시험해요. 유효 파티션과 무효 파티션을 모두 한 번씩 지나야 100% 커버리지예요.

경계값 분석은 순서가 있는 파티션의 최솟값과 최댓값을 노려요. 2값 방식은 경계와 바로 옆 파티션 값, 3값 방식은 경계와 양쪽 이웃까지 시험하죠.

실러버스 예시로 x ≤ 10이 x = 10으로 잘못 구현되면 2값(10, 11)은 못 잡고 3값의 9가 잡아요. 결정 테이블은 조건 조합마다 다른 결과가 나오는 업무 규칙에 쓰고, 상태 전이는 화면이나 주문처럼 상태가 바뀌는 대상에 써요.

화이트박스 테스트 커버리지는 어떻게 계산하나요?

구문 커버리지는 실행된 구문 수를 실행 가능한 전체 구문 수로 나누고, 분기 커버리지는 실행된 분기 수를 전체 분기 수로 나눠 백분율로 적어요.

실러버스가 다루는 화이트박스 기법은 구문 테스트와 분기 테스트예요. 구문 커버리지 100%면 모든 실행 가능 구문이 한 번 이상 실행됐다는 뜻이지만, 분모가 0일 때만 실패하는 나눗셈처럼 데이터에 따라 생기는 결함은 못 잡을 수 있어요.

분기는 제어 흐름 그래프에서 노드 사이의 제어 이동이고, if의 참과 거짓, switch의 각 경우, 반복문을 나가거나 계속하는 결정이 모두 분기예요. 분기 커버리지 100%를 달성한 케이스 묶음은 구문 커버리지 100%도 달성하지만 반대는 성립하지 않아요.

RFP에 라인 커버리지 숫자만 적으면 분기가 빠질 수 있으니 기준을 함께 적는 것이 맞고, 그 방법은 테스트 커버리지 RFP 글에서 이어서 볼 수 있어요.

검수 시나리오에는 어떤 기법을 넣나요?

현업이 사인하는 인수 시나리오는 명세에서 나오는 블랙박스 기법으로 짜고, 개발사가 제출하는 단위 시험 결과에는 화이트박스 커버리지를 붙여요.

화이트박스만으로는 요구사항이 아예 구현되지 않은 누락 결함을 찾기 어렵다고 실러버스는 설명해요. 코드에 없는 기능은 커버리지 분모에도 없기 때문이죠.

반대로 블랙박스만 하면 실제 코드가 얼마나 실행됐는지 측정할 수 없어요. 그래서 검수 계획에는 두 가지를 다 적어요.

요구사항 정의서의 업무 규칙은 결정 테이블로, 입력 한도와 기간 조건은 경계값으로, 화면 흐름은 상태 전이로 시나리오를 만들고, 개발사의 단위 시험 보고서에는 구문과 분기 커버리지를 함께 받아요. 결함 등급과 재시험 기준은 SIT UAT 범위를 나누는 글과 함께 정하면 검수 회의에서 같은 표를 보게 돼요.

이런 분께 맞아요. 검수 계획서를 처음 쓰는 발주 담당자라면 인수 시나리오 표와 단위 시험 커버리지 표를 따로 만들어 두 문서를 모두 받으면 돼요.

확인 1: 업무 규칙마다 결정 테이블 열이 있나요. 확인 2: 입력 한도마다 경계값 케이스가 있나요.

확인 3: 단위 시험 보고서에 구문과 분기 커버리지가 함께 적혀 있나요.

자주 묻는 것

그레이박스 테스트는 무엇인가요?
ISTQB 파운데이션 실러버스는 블랙박스, 화이트박스, 경험 기반 세 가지로 분류하고 그레이박스는 따로 다루지 않아요.
커버리지 100%면 결함이 없나요?
아니에요. 구문 100%도 데이터에 따라 생기는 결함을 놓칠 수 있고, 분기 100%도 특정 경로에서만 나는 결함은 못 잡을 수 있어요.
경계값은 2값과 3값 중 무엇을 쓰나요?
3값이 더 엄격해요. 2값이 놓치는 결함을 이웃 값으로 잡을 수 있어 중요한 한도 조건에 써요.
화이트박스 테스트는 누가 하나요?
코드 구조를 알아야 하므로 보통 개발자가 단위 시험에서 해요. 검수 담당자는 결과 커버리지를 받아 확인해요.

관련 용어

출처

다른 가이드