결정 테이블 테스트(decision table testing)는 결정 테이블에 나타낸 조건의 조합과 그에 따른 동작을 실행하는 블랙박스 기법이다.[1][2]

ISO/IEC/IEEE 29119-4:2021은 특정한 결과를 내는 조건(원인)과 동작(결과)의 조합을 결정 규칙(decision rule)으로, 원인과 결과 사이의 결정 규칙을 표로 나타낸 것을 결정 테이블(decision table)로 정의한다. 결정 규칙은 원인-결과 그래프 기법에서도 실행 대상이다.[1]

ISTQB CTFL 강의계획서에 따르면 결정 테이블은 조건의 조합마다 결과가 달라지는 요구사항의 구현을 테스트하는 데 쓰이고, 업무 규칙 같은 복잡한 논리를 기록하는 데 효과적이다. 이 기법은 조건의 조합을 빠짐없이 찾는 체계적인 방법이어서 놓치기 쉬운 조합을 드러내고, 요구사항의 빈틈과 모순을 찾는 데도 도움이 된다.[3]

구성과 표기

결정 테이블의 행은 조건과 그에 따른 시스템의 동작이다. 열 하나는 결정 규칙 하나로, 조건의 고유한 조합과 그 조합에 따른 동작을 정한다. 제한 기입(limited-entry) 결정 테이블은 조건과 동작의 값을 모두 참이나 거짓의 불 값으로 나타낸다. 무관하거나 실행할 수 없는 값은 예외다. 확장 기입(extended-entry) 결정 테이블에서는 조건과 동작의 일부나 전부가 수의 범위, 동치 분할, 이산 값처럼 여러 값을 가질 수 있다.[3]

이 강의계획서가 쓰는 표기는 다음과 같고, 다른 표기를 써도 된다.[3]

표기뜻
조건의 T조건이 충족된다.
조건의 F조건이 충족되지 않는다.
조건의 –그 조건의 값이 동작의 결과와 무관하다.
조건의 N/A그 규칙에서는 조건을 실행할 수 없다.
동작의 X동작이 일어나야 한다.
동작의 빈칸동작이 일어나지 않아야 한다.

커버리지

결정 테이블 테스트의 커버리지 항목은 실행할 수 있는 조건 조합을 담은 열이다. 커버리지 100%를 이루려면 테스트 케이스가 이 열을 모두 실행해야 한다. 실행할 수 있는 열의 수가 이고 그 가운데 실행한 열의 수가 이면, 커버리지는 다음과 같다.[3]

조건이 많으면 결정 규칙의 수가 조건 수에 따라 지수로 늘어나서, 모든 규칙을 실행하는 데 시간이 많이 들 수 있다. 그때는 실행할 규칙을 줄이려고 최소화한 결정 테이블이나 리스크 기반 접근을 쓸 수 있다.[3]

최소화

전체 결정 테이블(full decision table)은 조건의 모든 조합을 덮을 만큼 열을 둔다. 실행할 수 없는 조합의 열을 지우면 표가 단순해지고, 결과에 영향을 주지 않는 조건이 있는 열들을 한 열로 합치면 표가 최소화된다.[3]

ISTQB CTAL-TA(Certified Tester Advanced Level Test Analyst) 강의계획서에 따르면 조건이 개이고 조건 가 가질 수 있는 값의 수가 이면 전체 결정 테이블의 규칙 수는 이고, 이것이 결정 테이블을 최소화하는 동기가 된다. 최소화는 원래의 결정 테이블에서 규칙이 더 적은 동등한 결정 테이블을 끌어내는 일이다. 원래의 결정 테이블이 전체 결정 테이블이 아니어도 된다.[4]

규칙은 무관(don’t care) 연산자 –로 합친다. 이 강의계획서는 규칙을 합칠 때 실행할 수 없는 규칙을 고려에서 빼기를 권하고, 실행할 수 없는 규칙은 흔히 합치기 전에 표에서 지운다. 체계적으로 최소화하는 한 방법은 동작이 같고 조건 하나만 다르며 그 조건이 가질 수 있는 값을 모두 덮는 규칙들을 찾아 하나로 합치고, 규칙마다 달랐던 그 조건의 값을 –로 바꾸는 것이다. 그 결과는 열을 최소화하는 순서에 따라 달라질 수 있고 늘 최적은 아니어서, 더 최소화할 수 있는지 따로 확인해야 한다.[4]

이 강의계획서에 따르면 결정 테이블은 경우에 따라 다른 이해관계자와 함께 아래 기준으로 리뷰한다.[4]

기준내용
일관성서로 다른 두 규칙이 같은 조건 값 조합에 적용되면, 두 규칙의 동작이 같다.
실행 가능성실행할 수 없는 규칙이 없다.
완전성실행할 수 있는 조건 값 조합 가운데 빠진 것이 없다.
정확성규칙이 시스템의 의도한 동작을 모델링한다.

규칙끼리 겹치지 않게, 곧 어떤 조건 값 조합에도 적용되는 규칙이 많아야 하나이게 하는 것이 바람직하다. 원래의 결정 테이블이 이미 최소화돼 있거나 규칙을 잘못 합치면 규칙이 겹칠 수 있다.[4]

체크섬 절차(checksum procedure)는 최소화한 결정 테이블의 규칙 수로 겹침과 빈틈을 가려낸다. 최소화한 표의 규칙마다 원래 표의 규칙 몇 개를 나타내는지 센다. 규칙 에서 조건이 –인 조건의 집합을 이라 하면, 규칙 의 점수 과 최소화한 표의 체크섬 는 다음과 같다. –가 없는 규칙은 이 비어 이다.[4]

원래 표의 체크섬을 이라 하면, 일 때 최소화한 표는 불완전하고, 일 때 규칙이 겹치거나 실행할 수 없는 조합 같은 규칙이 더 있다. 최소화가 맞으면 이지만, 이라고 해서 두 표가 동등하다고 보장되지는 않는다.[4]

한 규칙에서 나온 테스트 케이스를 구현할 때는 조건과 동작을 구현해야 한다. –는 적어도 두 값을 나타내므로, 그 조건 값을 어떻게 구현할지 정해야 한다. 이 강의계획서는 결정 테이블에 걸린 리스크 수준이 높으면 최소화하지 말고, 전체 결정 테이블에서 실행할 수 있는 열의 커버리지를 재기를 권한다.[4]

[1]
ISO/IEC/IEEE, “ISO/IEC/IEEE 29119-4:2021 Software and systems engineering — Software testing — Part 4: Test techniques (OBP preview).” 2021. Accessed: Oct. 03, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:29119:-4:ed-2:v1:en
[2]
ISTQB, “ISTQB Glossary — decision table testing.” 2026. Accessed: Oct. 13, 2026. [Online]. Available: https://glossary.istqb.org/en_US/term/decision-table-testing
[3]
“Certified Tester Foundation Level Syllabus, v4.0.1,” International Software Testing Qualifications Board (ISTQB), 2024. Accessed: Oct. 02, 2026. [Online]. Available: https://istqb.org/wp-content/uploads/2024/11/ISTQB_CTFL_Syllabus_v4.0.1.pdf
[4]
“Certified Tester Advanced Level Test Analyst (CTAL-TA) Syllabus, v4.0,” International Software Testing Qualifications Board (ISTQB), 2025. Accessed: Oct. 04, 2026. [Online]. Available: https://istqb.org/?sdm_process_download=1&download_id=5745