결정 테이블 테스트
더 많은 작업
결정 테이블 테스트(Decision Table Testing)는 입력 조건들의 참·거짓 조합과 그 조합마다 수행해야 할 동작을 표로 정리하고, 표의 각 규칙(열)을 테스트케이스로 삼는 명세 기반 테스트 설계 기법이다.
업무 규칙이 "회원이고 구매액이 5만 원 이상이면 무료 배송, 회원이 아니면 …"처럼 여러 조건의 조합으로 정해질 때 쓴다. 조건을 행으로, 조건 값의 조합(규칙)을 열로 놓으면 빠진 조합이나 모순된 규칙이 표 위에 그대로 드러난다. ISO/IEC/IEEE 29119 파트 4와 ISTQB 기초 실러버스 모두 결정 테이블 테스트를 대표적인 명세(블랙박스) 기반 기법으로 다룬다.[1][2]
| 구역 | 내용 |
|---|---|
| 조건(condition) | 판단에 쓰이는 입력 조건. 예: 회원인가, 구매액 5만 원 이상인가 |
| 동작(action) | 조건 조합에 따라 시스템이 하는 일. 예: 무료 배송, 할인 적용 |
| 규칙(rule) | 조건 값의 한 조합과 그때의 동작. 표의 열 하나 |
조건이 n 개이고 모두 참·거짓 두 값이면 규칙은 최대 2n 개다. 결과가 같은 규칙을 합치거나 일어날 수 없는 조합을 지워 표를 줄인다(축약 결정 테이블).[2]
| 규칙1 | 규칙2 | 규칙3 | 규칙4 | |
|---|---|---|---|---|
| 회원 | 참 | 참 | 거짓 | 거짓 |
| 구매액 5만 원 이상 | 참 | 거짓 | 참 | 거짓 |
| 무료 배송 | O | - | O | - |
| 회원 할인 | O | O | - | - |
규칙이 넷이므로 테스트케이스도 넷이 나온다. 각 규칙을 적어도 한 번 시험하는 것이 기본 커버리지 기준이다.
결정 테이블 커버리지는 시험한 규칙(열) 수 ÷ 전체 규칙 수로 잰다. 테스트케이스마다 조건의 참·거짓을 계산해 어느 규칙에 해당하는지 찾고, 서로 다른 규칙의 개수만 센다. 두 테스트케이스가 같은 규칙에 해당하면 하나로 센다. 예를 들어 조건 3개(규칙 8개) 표에서 테스트케이스 4개가 규칙 1, 4, 8, 1 에 해당하면 커버리지는 3/8 이다. 경계값(예: −100 ≤ X 에서 X = −100, X + Y ≥ 150 에서 합이 정확히 150)을 넣을 때는 부등호에 등호가 있는지 확인해야 규칙을 잘못 고르지 않는다.
| 기법 | 테스트케이스를 만드는 근거 | 예 |
|---|---|---|
| 결정 테이블 테스트 | 조건 조합별 업무 규칙 | 회원 여부와 구매액 조합에 따른 배송·할인 |
| 원인-결과 그래프 | 원인·결과의 논리 그래프를 먼저 그리고 결정 테이블로 바꾼다 | 제약(배타·요구 등)을 그래프에 표시 |
| 동치 분할 테스트 | 입력 값을 같은 처리를 받는 구간으로 나눈다 | 나이 0~17, 18~64, 65 이상 |
| 메타모픽 테스트 | 입력을 바꿨을 때 출력 사이에 성립해야 할 관계 | 출발지·목적지를 바꿔도 거리가 같다 |
| 요구사항 기반 테스트 | 요구사항 하나하나가 구현되었는지 추적해 확인한다 | 요구사항 추적표의 항목마다 테스트 |
결정 테이블은 표 한 장 안에서 조건 조합을 다루고, 메타모픽 테스트는 두 번 이상의 실행 결과 사이의 관계를 다룬다는 점에서 서로 다르다.
- ↑ 「ISO/IEC/IEEE 29119-4:2021 Software and systems engineering - Software testing - Part 4: Test techniques」, ISO, https://www.iso.org/standard/79430.html, 확인일: 2026-11-04.
- ↑ 2.0 2.1 「Certified Tester Foundation Level Syllabus v4.0」, ISTQB, 2023, 4.2.3 Decision Table Testing, https://www.istqb.org/certifications/certified-tester-foundation-level, 확인일: 2026-11-04.