블랙박스 테스트 유형 정리
요약
블랙박스 테스트의 주요 기법을 정리하고, 여러 구간의 경계 검사와 동등 분할 비교, 원인-결과 그래프의 ∨·∧ 기호와 중간 노드를 읽어 조건 조합을 도출하는 방법, 상태 전이도에서 테스트 케이스를 도출하는 절차와 상태 전이표를 익히며, 비슷해 보이는 기법을 산출물과 테스트값의 선정 방식으로 구별합니다.
| 용어 | 키워드 |
|---|---|
| 블랙박스 테스트 | 내부 구조 미파악, 요구사항 명세 기반, 기능 테스트, 명세 기반 테스트 |
| 동등 분할 테스트 | 유효/무효 그룹, 대표값 선택, 효율적 테스트, 도메인별 분할 |
| 경곗값 분석 테스트 | 경계값 집중, 오류 발생 확률 높음, 동등 분할 후 경계값, 0, 1, 2, 99, 100, 101 |
| 원인-결과 그래프 테스트 | 입력과 출력 관계, 논리적 관계, 그래프 표현, 효용성 높은 케이스 |
| 결정 테이블 테스트 | 복잡한 논리적 조건, 행동 정리, 표 기반, 체계적 테스트 |
| 상태 전이 테스트 | 상태 변화, 이벤트 기반, 상태 전이도, 상태 전이표 |
| 오류 예측 테스트 | 경험과 직관, 창의적 접근, 보완적 역할, 오류 패턴 |
| 비교 테스트 | 동일한 테스트 자료, 여러 버전·제품 비교, 결과 대조 |
| 페어와이즈 테스트 | 조합 폭발 해결, 테스트 케이스 수 감소, 모든 쌍 테스트, 파라미터 조합 |
| 분류 트리 테스트 | 분류와 클래스, 트리 구조, 클래스 조합, 테스트 케이스 도출 |
| 유스케이스 테스트 | 사용자 목표, 기본·대체·예외 흐름, 사전·사후 조건, 흐름 단위 검사 |
블랙박스 테스트란?
블랙박스 테스트(Black-box Test) 는 소프트웨어의 내부 구조나 소스 코드를 보지 않고, 오직 요구사항 명세를 보면서 기능이 올바르게 동작하는지를 검사하는 테스트 방법입니다. 사용자의 관점에서 테스트하는 것과 같으며, 명세 기반 테스트 또는 기능 테스트라고도 불립니다.
블랙박스 테스트 상세 유형
동등 분할 테스트 (Equivalence Partitioning)
입력 데이터의 영역을 유효한(valid) 그룹과 무효한(invalid) 그룹으로 나누고, 각 그룹에서 대표값을 하나씩 선택하여 테스트 케이스를 설계하는 방법입니다. 모든 입력값을 테스트하지 않고도 효율적으로 테스트할 수 있습니다.

- 예시: 시험 점수(1점 ~ 100점)를 입력하는 시스템
- 유효 파티션: 1 이상 100 이하의 값 (e.g., 50)
- 무효 파티션: 1 미만의 값 (e.g., 0), 100 초과의 값 (e.g., 101)
경곗값 분석 테스트 (Boundary Value Analysis)
입력 범위가 바뀌는 경계에서 결함이 발생하기 쉽다는 점을 이용한 테스트 기법입니다. 동등 분할 후, 각 분할의 경계값을 집중적으로 테스트합니다.

- 예시: 시험 점수(1점 ~ 100점)를 입력하는 시스템
- 경계값: 0, 1, 2 (최소 경계) 그리고 99, 100, 101 (최대 경계)
여러 구간의 경계 검사하기
처리가 여러 번 바뀌는 입력이라면 바뀌는 지점마다 경계를 검사합니다. 택배 무게에 따라 배송비를 계산하는 프로그램을 예로 들어 보겠습니다. 무게는 kg 단위의 정수로만 입력하고, 1 미만이거나 20 초과이면 오류로 처리합니다.
| 무게(kg) | 배송비 |
|---|---|
| 0 초과 ~ 5 이하 | 3,000원 |
| 5 초과 ~ 10 이하 | 5,000원 |
| 10 초과 ~ 20 이하 | 8,000원 |
입력이 정수이므로 이 기준은 다섯 구간으로 나뉩니다.
| 구간 | 0 이하 | 1 ~ 5 | 6 ~ 10 | 11 ~ 20 | 21 이상 |
|---|---|---|---|---|---|
| 기대 처리 | 오류 | 3,000원 | 5,000원 | 8,000원 | 오류 |
구간이 바뀌는 곳, 즉 경계는 네 군데입니다. 경곗값 분석은 경계마다 그 경계를 사이에 둔 두 정수를 짝지어 둘 다 검사합니다. 한쪽 구간의 마지막 값과 이웃 구간의 첫 값입니다.
| 검사값 | 기대 처리의 변화 | 이유 |
|---|---|---|
| 0 · 1 | 오류 ↔ 3,000원 | 0은 오류 구간의 마지막 값, 1은 유효 범위의 첫 값 |
| 5 · 6 | 3,000원 ↔ 5,000원 | 5는 '5 이하'에 포함, 6은 다음 정수라 '5 초과' |
| 10 · 11 | 5,000원 ↔ 8,000원 | 10은 '10 이하'에 포함, 11은 '10 초과' |
| 20 · 21 | 8,000원 ↔ 오류 | 20이 유효 범위의 마지막 값, 21은 '20 초과' |
바로 이웃한 두 정수의 기대 처리가 다르므로, 경계 숫자나 '이하'·'미만' 같은 비교 조건을 잘못 구현하면 이 짝 중 하나에서 결과가 어긋납니다. 경계가 어느 쪽으로 밀렸느냐에 따라 5에서 드러나기도 하고 6에서 드러나기도 하므로 양쪽을 모두 검사합니다.
위 기본 예시(0, 1, 2 / 99, 100, 101)처럼 경계 하나에 세 값을 검사하기도 합니다. 두 값이든 세 값이든 경계 양쪽을 짝지어 집중 검사했다면 경곗값 분석입니다.
경계 오류가 드러나는 사례
경계 조건을 잘못 구현했을 때 어느 검사값에서 드러나는지 보기
첫 구간의 조건 '5 이하'를 잘못 구현한 두 경우를 비교해 봅시다.
- 경우 ①: '5 미만'(
무게 < 5)으로 구현 → 5kg이 첫 구간에서 빠져 5,000원이 됩니다. - 경우 ②: '6 이하'(
무게 <= 6)로 구현 → 6kg이 첫 구간에 들어가 3,000원이 됩니다.
| 검사값 | 기대 결과 | 경우 ①의 결과 | 경우 ②의 결과 |
|---|---|---|---|
| 5 | 3,000원 | 5,000원 (불일치) | 3,000원 (일치) |
| 6 | 5,000원 | 5,000원 (일치) | 3,000원 (불일치) |
경우 ①은 5에서만, 경우 ②는 6에서만 드러납니다. 짝 중 한쪽만 검사하면 둘 중 하나를 놓칩니다. 구간 안쪽의 3이나 8만 검사하면 두 경우 모두 찾지 못합니다.
같은 방식으로 '20 이하'를 '21 이하'(무게 <= 21)로 잘못 구현하면 21kg이 오류 대신 8,000원이 되어, 검사값 21에서 드러납니다.
동등 분할과 비교하기
같은 요금 기준이라도 값을 고르는 목적에 따라 기법이 달라집니다. 동등 분할은 구간마다 대표값을 하나씩 고르고, 경곗값 분석은 경계마다 양쪽 값을 짝지어 고릅니다.
| 구간 | 기대 처리 | 동등 분할 대표값 (예) | 경곗값 분석 검사값 |
|---|---|---|---|
| 0 이하 | 오류 | 0 | 0 |
| 1 ~ 5 | 3,000원 | 3 | 1, 5 |
| 6 ~ 10 | 5,000원 | 8 | 6, 10 |
| 11 ~ 20 | 8,000원 | 15 | 11, 20 |
| 21 이상 | 오류 | 25 | 21 |
동등 분할은 구간 5개에서 값 5개를, 경곗값 분석은 경계 4곳에서 값 8개를 골랐습니다.
무게는 음수가 될 수 없으므로 0 이하 구간의 대표값으로 0을 고르는 것이 자연스럽고, 그러면 동등 분할의 대표값 0도 경계에 놓입니다. 이처럼 값이 경계에 있다는 것만으로는 경곗값 분석이라고 판정할 수 없습니다. 경계마다 양쪽 값을 빠짐없이 짝지었는지, 구간마다 하나씩 골랐는지를 봅니다.
아래 연습 문제 중 택배 배송비 문제는 이 절의 요금 기준에서 0·1, 5·6, 10·11, 20·21을 검사했으므로 경곗값 분석입니다. 반면 2026년 2회 복원 문제는 점수 구간마다 값을 하나씩 골랐습니다.
| 점수 구간 | 90 ~ 100 | 79 ~ 89 | 50 ~ 78 | 21 ~ 49 | 0 ~ 20 |
|---|---|---|---|---|---|
| 문제에서 고른 값 | 95 | 80 | 73 | 23 | 15 |
80은 79와, 23은 21과 가깝지만 경계를 사이에 둔 짝(78·79, 20·21)을 검사한 것이 아니라 구간별 대표값 하나씩이므로 동등 분할입니다.
결정 테이블 테스트 (Decision Table Testing)
요구사항의 복잡한 논리적 조건과 그에 따라 시스템이 취해야 할 행동을 체계적으로 정리한 표(테이블)를 기반으로 테스트 케이스를 설계하는 방법입니다.

-
예시: 쇼핑몰 할인 정책을 나타낸 결정 테이블
규칙 1 2 3 조건 VIP 회원 T F F 10만원 이상 구매 T T F 쿠폰 사용 T F F 행동 20% 할인 X 5% 할인 X 할인 없음 X
원인-결과 그래프 테스트 (Cause-Effect Graphing)
입력 데이터 간의 관계나 출력에 영향을 미치는 상황을 체계적으로 분석하여, 효용성 높은 테스트 케이스를 선정하는 기법입니다. 입력(원인)과 출력(결과) 사이의 논리적 관계를 그래프로 표현합니다.

- 예시: 특정 조건이 만족될 때 파일이 업데이트되는 시스템
- 원인(Causes)
- C1: 1번 열의 문자는 'A'이다.
- C2: 1번 열의 문자는 'B'이다.
- C3: 2번 열의 문자는 'T'이다.
- 결과(Effect)
- E1: 파일이 업데이트된다.
- 논리: (C1 또는 C2) 그리고 C3가 참일 때 E1이 발생한다.
- 원인(Causes)
C1과 C2는 같은 1번 열의 문자가 A인지, B인지를 묻습니다. 한 칸에 두 문자가 동시에 들어갈 수는 없으므로 C1과 C2는 동시에 참이 될 수 없습니다.1 이 제약은 뒤에서 조건 조합을 셀 때 다시 사용합니다.
노드와 논리 기호 읽기
원인-결과 그래프는 조건과 동작을 원형 노드로 그리고, 노드 사이를 실선으로 이은 뒤, 선이 합쳐지는 곳에 논리 기호를 적어 표현합니다. 위 예시를 이 표기로 그리면 다음과 같습니다.

노드와 기호 자세히 읽기
노드 종류, ∨·∧의 뜻, 중간 노드를 거쳐 결과를 판정하는 과정 보기
노드는 그래프에서 맡은 역할에 따라 세 가지로 나뉩니다.
| 노드 | 그림에서 | 역할 |
|---|---|---|
| 입력 노드 (원인) | C1, C2, C3 | 참·거짓을 판단하는 입력 조건 |
| 중간 노드 | I1 | 앞 노드들을 논리 기호로 계산한 값을 담아 다음 관계로 넘김 |
| 출력 노드 (결과) | E1 | 조건 조합에 따라 일어나는 프로그램 동작 |
실선은 앞 노드의 참·거짓 값이 다음 노드로 전달된다는 뜻입니다. 여러 선이 한 노드로 모일 때는 선 사이에 적힌 논리 기호가 값을 합치는 방법을 정합니다2. 그림에서 ∨는 I1로 들어오는 두 선(C1→I1, C2→I1) 사이에, ∧는 E1로 들어오는 두 선(I1→E1, C3→E1) 사이에 적혀 있습니다. 자료에 따라 합쳐지는 선들을 곡선으로 묶고 그 위에 기호를 적기도 합니다.
| 기호 | 이름 | 참이 되는 경우 |
|---|---|---|
| ∨ | OR (논리합) | 연결된 조건 중 하나 이상이 참일 때 |
| ∧ | AND (논리곱) | 연결된 조건이 모두 참일 때 |
두 조건 A, B를 연결했을 때 나올 수 있는 네 가지 경우를 모두 적으면 다음과 같습니다.
| A | B | A ∨ B | A ∧ B |
|---|---|---|---|
| 참 | 참 | 참 | 참 |
| 참 | 거짓 | 참 | 거짓 |
| 거짓 | 참 | 참 | 거짓 |
| 거짓 | 거짓 | 거짓 | 거짓 |
중간 노드는 계산 결과를 담아 두었다가 다음 관계로 넘기는 자리입니다. 이 예시에서 I1은 '1번 열의 문자가 A 또는 B이다'라는 값을 담고, 그 값이 다시 C3와 ∧로 묶여 E1로 이어집니다.
중간 노드는 관계가 여러 단계로 이어질 때 쓰므로 모든 그래프에 있는 것은 아닙니다. 원인이 결과로 바로 이어지는 그래프라면 중간 노드 없이 그립니다. 중간 노드의 이름도 I1로 정해져 있지 않고 자료마다 다르게 붙입니다.
중간 노드를 거쳐 결과 판정하기
그래프는 왼쪽에서 오른쪽으로, 두 단계로 읽습니다.
- I1 계산: C1과 C2가 ∨로 I1에 모이므로
I1 = C1 ∨ C2입니다. 1번 열의 문자가 A이거나 B이면 I1이 참입니다. - E1 판정: I1과 C3가 ∧로 E1에 모이므로
E1 = I1 ∧ C3입니다. I1이 참이면서 2번 열의 문자가 T여야 파일이 업데이트됩니다.
두 단계를 합치면 앞에서 문장으로 적은 논리 (C1 또는 C2) 그리고 C3와 같습니다.
예를 들어 1번 열이 A, 2번 열이 S인 입력은 C1이 참이라 I1도 참이지만, C3가 거짓이므로 E1 = 참 ∧ 거짓 = 거짓이 되어 파일이 업데이트되지 않습니다.
그래프에서 만든 결정 테이블
원인-결과 그래프 테스트의 산출물은 원인-결과 그래프와 그 그래프에서 만든 결정 테이블입니다. 위 그래프를 결정 테이블로 옮기면 다음과 같습니다. 원인은 조건 행, 결과는 행동 행이 되고, 중간 노드 I1은 표에 넣지 않습니다. 조건 칸의 T는 참, F는 거짓이고, 행동 칸의 X는 그 규칙에서 파일이 업데이트된다는 뜻입니다.
| 규칙 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 조건 (원인) | ||||||
| C1: 1열='A' | T | T | F | F | F | F |
| C2: 1열='B' | F | F | T | T | F | F |
| C3: 2열='T' | T | F | T | F | T | F |
| 행동 (결과) | ||||||
| E1: 파일 업데이트 | X | X |
결정 테이블 도출 과정
조건 조합을 6가지로 정리하고 테스트 케이스를 만드는 과정 보기
원인 3개가 각각 참·거짓이면 2 × 2 × 2 = 8가지 조합이 나옵니다. 하지만 C1과 C2가 모두 참인 2가지 조합(C3가 참인 경우와 거짓인 경우)은 입력으로 만들 수 없으므로, 이를 빼면 6가지가 남습니다. 그래서 위 결정 테이블의 규칙은 6개입니다.
행동 칸은 그래프를 따라 계산해 채웁니다. I1 = C1 ∨ C2는 C1·C2 중 하나라도 T인 규칙 1 ~ 4에서 참입니다. E1 = I1 ∧ C3는 I1과 C3가 모두 참인 규칙 1과 3에서만 참이므로, 이 두 규칙의 E1 칸에만 X를 적습니다.
원인끼리 이런 제약이 없다면 8가지 조합을 모두 적습니다. 조합을 위 표처럼 열로 놓아도 되고, 한 줄에 한 조합씩 행으로 놓아도 같은 내용입니다.
규칙마다 그 조합을 만드는 입력을 하나씩 정하면 테스트 케이스가 됩니다.
| 테스트 케이스 | 입력 (1열, 2열) | 규칙 | 예상 결과 |
|---|---|---|---|
| TC1 | A, T | 1 | 파일이 업데이트됨 |
| TC2 | A, S | 2 | 업데이트되지 않음 |
| TC3 | B, T | 3 | 파일이 업데이트됨 |
| TC4 | B, S | 4 | 업데이트되지 않음 |
| TC5 | C, T | 5 | 업데이트되지 않음 |
| TC6 | C, S | 6 | 업데이트되지 않음 |
TC5·TC6의 C와 TC2·TC4·TC6의 S는 'A·B가 아닌 문자', 'T가 아닌 문자'를 대표하는 값입니다.
상태 전이 테스트 (State Transition Testing)
시스템의 상태가 특정 이벤트에 의해 어떻게 변하는지를 분석하고 테스트하는 기법입니다. 상태 변화를 상태 전이도(State Transition Diagram)나 상태 전이표로 정리한 뒤, 그 안의 전이(한 상태에서 다른 상태로 옮겨 가는 화살표)를 빠짐없이 검사하도록 테스트 케이스를 설계합니다.

- 예시: ATM 기기
- 상태: 대기, PIN 대기, PIN 확인, 거래 중, 카드 반환
- 이벤트: 카드 삽입, PIN 입력, PIN 일치, PIN 불일치 (3회), 거래 종료, 카드 회수
아래는 ATM 기기의 상태 변화를 나타낸 상태 전이도입니다.
다이어그램을 로드하는 중...
상태는 둥근 사각형, 전이는 화살표로 그리고, 화살표 위에는 전이를 일으키는 이벤트를 적습니다. 맨 위의 검은 점은 처음 시작하는 상태가 대기라는 표시일 뿐 이벤트가 없으므로, 테스트할 전이로 세지 않습니다. 따라서 이 그림에서 테스트할 전이는 검은 점의 화살표를 뺀 화살표 6개입니다.
PIN 불일치 (3회)는 세 번째로 틀렸을 때 카드 반환으로 넘어가는 전이를 줄여 적은 것입니다. 1·2회째 불일치는 PIN을 다시 입력받는 경우라 이 그림에서 생략했습니다.
전이에서 테스트 케이스 도출하기
상태 전이 테스트에서 검사 단위는 화살표(전이) 하나입니다. 화살표 하나를 검사한다는 것은 다음 세 가지를 확인한다는 뜻이고, 각각 테스트 케이스의 구성 요소에 대응합니다.
| 화살표의 부분 | 테스트 케이스 구성 요소 |
|---|---|
| 출발 상태 | 테스트 조건(사전 조건): 시스템을 이 상태로 준비합니다 |
| 이벤트 | 테스트 데이터(입력): 화살표에 적힌 조작이나 사건을 발생시킵니다 |
| 도착 상태 | 예상 결과: 이 상태로 바뀌는지 확인합니다 |
화살표마다 테스트 케이스를 하나씩 만들면 ATM 상태 전이도의 화살표 6개에서 테스트 케이스 6개가 나옵니다.
| 테스트 케이스 | 출발 상태 | 이벤트 | 예상 결과 (도착 상태) |
|---|---|---|---|
| TC1 | 대기 | 카드 삽입 | PIN 대기 |
| TC2 | PIN 대기 | PIN 입력 | PIN 확인 |
| TC3 | PIN 확인 | PIN 일치 | 거래 중 |
| TC4 | PIN 확인 | PIN 불일치 (3회) | 카드 반환 |
| TC5 | 거래 중 | 거래 종료 | 카드 반환 |
| TC6 | 카드 반환 | 카드 회수 | 대기 |
화살표를 빠짐없이 검사하면 모든 상태도 함께 거치게 되므로, 상태(노드)와 전이(링크)를 모두 검사하게 됩니다.
상태 전이표
같은 내용을 상태 전이표(State Table)로 적을 수도 있습니다. 행에는 현재 상태, 열에는 이벤트를 두고, 칸에는 그 이벤트가 일어났을 때 옮겨 갈 다음 상태를 적습니다. 상태 전이도와 상태 전이표는 같은 정보를 담은 두 가지 표현입니다.
| 현재 상태 | 카드 삽입 | PIN 입력 | PIN 일치 | PIN 불일치 (3회) | 거래 종료 | 카드 회수 |
|---|---|---|---|---|---|---|
| 대기 | PIN 대기 | |||||
| PIN 대기 | PIN 확인 | |||||
| PIN 확인 | 거래 중 | 카드 반환 | ||||
| 거래 중 | 카드 반환 | |||||
| 카드 반환 | 대기 |
채워진 6칸은 상태 전이도의 화살표 6개와 하나씩 대응합니다.
결정 테이블도 표 모양이지만, 결정 테이블은 조건 조합과 행동을, 상태 전이표는 현재 상태·이벤트·다음 상태를 정리한다는 점이 다릅니다.오류 예측 테스트 (Error Guessing)
테스터의 경험과 직관을 바탕으로 시스템에 어떤 오류가 있을지 예측하고, 그 오류를 검증하는 테스트 케이스를 설계하는 기법입니다. 정형화된 규칙은 없지만, 다른 기법들이 놓칠 수 있는 오류를 찾는 데 효과적입니다.

- 예시: 로그인 폼에 비밀번호 대신 아이디 입력, 숫자 필드에 문자 입력, 필수 입력값 비워두기 등
비교 테스트 (Comparison Testing)
동일한 테스트 자료를 가지고 여러 버전의 프로그램이나 경쟁사 제품과 비교하며 테스트하는 기법입니다.

페어와이즈 테스트 (Pairwise Testing)
모든 가능한 입력 파라미터의 조합을 테스트하는 대신, 테스트 케이스 수를 줄이면서 모든 파라미터 값들의 쌍(pair)을 적어도 한 번씩 테스트하도록 조합을 만드는 기법입니다. 파라미터가 많아질수록 조합의 수가 기하급수적으로 늘어나는 '조합 폭발' 문제를 해결하는 데 매우 효과적입니다. 파라미터는 운영체제(OS)나 브라우저처럼 테스트에서 값을 바꾸어 보는 입력·설정 항목입니다.

- 예시: 웹사이트 설정 (OS: Win, Mac / 브라우저: Chrome, Firefox / 언어: 한국어, 영어)
- 모든 조합(2x2x2=8) 대신, 아래 4가지 케이스만으로 모든 쌍(OS-브라우저, OS-언어, 브라우저-언어)을 테스트할 수 있습니다.
- Win - Chrome - 한국어
- Win - Firefox - 영어
- Mac - Chrome - 영어
- Mac - Firefox - 한국어
- 모든 조합(2x2x2=8) 대신, 아래 4가지 케이스만으로 모든 쌍(OS-브라우저, OS-언어, 브라우저-언어)을 테스트할 수 있습니다.
분류 트리 테스트 (Classification Tree Method)
테스트할 요소를 분류, 각 분류에서 구별하는 값의 그룹을 클래스로 정리해 트리로 표현합니다. 각 분류에서 클래스를 하나씩 골라 조합하면 테스트 케이스가 됩니다. 이 과정에서 모든 조합을 선택할지, 일부 조합을 선택할지는 별도로 정합니다.
페어와이즈가 '모든 쌍을 한 번 이상 포함하도록' 조합을 고르는 기준이라면, 분류 트리는 입력을 분류·클래스로 구조화하는 방법입니다. 분류 트리로 정리한 클래스를 페어와이즈 기준으로 조합하는 것처럼 두 기법을 함께 쓸 수도 있습니다.

- 예시: 파일 업로드 기능
- 분류: 파일 종류, 파일 크기
- 클래스: (이미지, 문서), (10MB 미만, 10MB 이상)
- 테스트 케이스: 아래 다이어그램은 이 분류와 클래스를 조합하여 생성된 4개의 테스트 케이스를 보여줍니다.
다이어그램을 로드하는 중...
유스케이스 테스트 (Use Case Testing)
사용자 관점에서 시스템이 제공하는 기능의 시나리오를 정의한 유스케이스를 기반으로 테스트 케이스를 설계하는 기법입니다. 시스템이 실제 사용자의 목표를 달성시키는 과정에서 발생하는 상호작용 흐름을 검증하는 데 중점을 둡니다.

-
예시: 온라인 쇼핑몰 '상품 구매'의 유스케이스 명세
항목 내용 사용자 목표 구매자가 장바구니의 상품을 결제한다 사전 조건 로그인되어 있고 장바구니에 상품이 하나 이상 있다 기본 흐름 주문서 확인 → 배송지 선택 → 결제수단 선택 → 결제 승인 → 주문 완료 대체 흐름 저장된 배송지 대신 새 배송지를 입력한 뒤 결제 예외 흐름 결제가 거절되면 사유를 안내하고 결제수단 선택으로 돌아간다 사후 조건 주문이 생성되었거나, 생성되지 않은 이유가 구매자에게 안내되어 있다 -
테스트 케이스: 흐름 하나를 처음부터 끝까지 이어서 실행한 뒤 사후 조건이 성립하는지 확인합니다.
테스트 케이스 따라가는 흐름 기대 결과 TC1 기본 흐름 주문이 생성되고 완료 화면이 표시된다 TC2 대체 흐름 (새 배송지) 새 배송지로 주문이 생성된다 TC3 예외 흐름 (결제 거절) 거절 사유가 안내되고 결제수단을 다시 고를 수 있다
흐름 하나가 검사 단위이며, 예외 흐름도 똑같이 하나의 테스트 케이스입니다. 성공 경로 하나만을 뜻하는 기법은 아닙니다.