의사결정 테이블 테스팅(예)
⚡ 스마트 요약
의사결정표 테스트는 입력 조합과 예상 출력을 표 형식으로 나타내는 블랙박스 기법입니다. 이 튜토리얼에서는 원인-결과 개념을 설명하고, 로그인 및 업로드 예제를 통해 이 방법이 복잡한 비즈니스 로직에 대해 높은 코드 커버리지를 제공하는 이유를 보여줍니다.

의사결정 테이블 테스트란 무엇입니까?
의사결정표 테스트는 다양한 입력 조합에 대한 시스템 동작을 테스트하는 소프트웨어 테스트 기법입니다. 이는 다양한 입력 조합과 그에 상응하는 시스템 동작(출력)을 표 형식으로 체계적으로 정리하는 접근 방식입니다. 이러한 이유로 의사결정표 테스트라고도 불립니다. 원인-결과 원인과 결과가 기록되어 테스트 범위를 넓힐 수 있는 표입니다.
A 결정표 이는 입력값과 규칙, 사례 또는 테스트 조건을 표 형식으로 나타낸 것입니다. 복잡한 상황 분석과 테스트 조건 분석 모두에 매우 효과적인 도구입니다. 소프트웨어 테스팅 요구사항 관리에도 유용합니다. 의사결정표는 모든 가능한 조건 조합을 확인할 수 있도록 도와주며, 테스터는 누락된 조건을 쉽게 파악할 수 있습니다. 조건은 참(T)과 거짓(F) 값으로 표시됩니다.
예시 1: 로그인 화면용 의사결정표
로그인 화면에 대한 의사결정표를 만들어 보겠습니다.
조건은 간단합니다. 사용자가 올바른 사용자 이름과 비밀번호를 입력하면 홈페이지로 이동합니다. 입력 내용이 잘못된 경우 오류 메시지가 표시됩니다.
| 상태 | 규칙 1 | 규칙 2 | 규칙 3 | 규칙 4 |
|---|---|---|---|---|
| 사용자 이름(T/F) | F | T | F | T |
| 비밀번호(T/F) | F | F | T | T |
| 출력(E/H) | E | E | E | H |
범례 :
- T – 올바른 사용자 이름/비밀번호
- F – 잘못된 사용자 이름/비밀번호
- E – 오류 메시지가 표시됩니다
- H – 홈 화면이 표시됩니다
해석 :
- 사례 사용자 이름과 비밀번호가 모두 틀렸습니다. 사용자에게 오류 메시지가 표시됩니다.
- 사례 사용자 이름은 맞지만 비밀번호가 틀렸습니다. 사용자에게 오류 메시지가 표시됩니다.
- 사례 - 사용자 이름은 틀렸지만 비밀번호는 맞습니다. 사용자에게 오류 메시지가 표시됩니다.
- 사례 사용자 이름과 비밀번호가 모두 올바릅니다. 사용자가 홈페이지로 이동합니다.
이것을 다음으로 변환할 때 테스트 사례세 가지 오류 사례 모두 동일한 규칙을 테스트하므로 두 가지 시나리오를 만들 수 있습니다.
- 올바른 사용자 이름과 비밀번호를 입력한 다음 로그인을 클릭하세요. 그러면 홈페이지로 이동합니다.
- 잘못된 사용자 이름이나 비밀번호를 입력한 후 로그인을 클릭하면 오류 메시지가 표시됩니다.
예시 2: 업로드 화면용 의사결정표
이제 특정 조건에서 사용자에게 사진을 업로드하도록 요청하는 대화 상자를 생각해 보겠습니다.
- ".jpg" 형식만 허용됩니다.
- 파일 크기는 32KB 미만이어야 합니다.
- 해상도는 137 × 177이어야 합니다.
조건 중 하나라도 충족되지 않으면 시스템은 해당 오류 메시지를 표시하고, 모든 조건이 충족되면 사진이 성공적으로 업로드됩니다.
이 경우에 대한 의사결정표는 아래와 같습니다.
| 상태 | 사례 | 사례 | 사례 | 사례 | 사례 | 사례 | 사례 | 사례 |
|---|---|---|---|---|---|---|---|---|
| 옵션 | . JPG | . JPG | . JPG | . JPG | .jpg 아님 | .jpg 아님 | .jpg 아님 | .jpg 아님 |
| 중량 | < 32KB | < 32KB | ≥ 32KB | ≥ 32KB | < 32KB | < 32KB | ≥ 32KB | ≥ 32KB |
| 분해능 | 137 × 177 | 137×177이 아닙니다 | 137 × 177 | 137×177이 아닙니다 | 137 × 177 | 137×177이 아닙니다 | 137 × 177 | 137×177이 아닙니다 |
| 산출 | 사진 업로드됨 | 해상도 불일치 | 사이즈 불일치 | 크기 및 해상도 불일치 | 형식 불일치 | 형식 및 해상도 불일치 | 형식 및 크기 불일치 | 형식, 크기 및 해상도 불일치 |
이 표를 이용하면 완벽한 테스트 범위 확보를 위해 8개의 테스트 케이스를 생성할 수 있습니다.
- .jpg, 32KB 미만, 137×177 → 사진이 성공적으로 업로드되었습니다.
- .jpg 파일, 32KB 미만, 137×177 해상도가 아님 → 해상도 불일치 오류.
- .jpg, 32KB 이상, 137×177 → 크기 불일치 오류.
- .jpg 파일, 32KB 이상, 137×177이 아님 → 크기 및 해상도 불일치 오류.
- .jpg 형식이 아니고, 32KB 미만이며, 137×177 크기도 아닙니다. → 형식 불일치 오류입니다.
- .jpg 형식이 아니고, 32KB 미만이며, 137×177 크기도 아닙니다. → 형식 및 해상도 불일치 오류입니다.
- .jpg 형식이 아니고, 32KB 이상이며, 137×177 크기도 아닙니다. → 형식 및 크기 불일치 오류입니다.
- .jpg 형식이 아니고, 32KB 이상이며, 137×177 해상도도 아닙니다. → 형식, 크기 및 해상도가 일치하지 않습니다.
의사결정표 테스트가 중요한 이유
의사결정표 테스트는 다양한 조건 조합을 테스트하고 복잡한 비즈니스 로직에 대한 높은 테스트 커버리지를 제공하기 때문에 중요합니다. 시스템 동작이 입력값 조합에 따라 달라지는 경우, 이 기법은 간단하고 읽기 쉬운 표현으로 우수한 테스트 커버리지를 제공합니다.
In 소프트웨어 공학경계값 해석과 등가 분할은 유사한 기법이지만, 시스템이 다음과 같은 특징을 보일 때 가장 효과적입니다. 같은 다양한 입력값에 걸쳐 나타나는 동작. 동작이 다음과 같을 때 다른 각 입력 조합에 대해 이러한 기법으로는 충분한 테스트 범위를 보장할 수 없으며, 의사결정표 테스트가 더 나은 선택이 됩니다.
이 표는 이해하기 쉽고 모든 조합을 포함하고 있기 때문에 요구사항 및 기능 개발을 위한 참고 자료로도 활용될 수 있습니다. 입력값이 증가할수록 이 표의 중요성은 더욱 커집니다. 가능한 조합의 수는 2^n이며, 여기서 n은 입력값의 개수입니다. 웹 폼에서 흔히 볼 수 있는 n=10의 경우, 1,024가지 조합이 가능합니다. 이 모든 조합을 테스트할 수는 없지만, 의사결정 기반 테스트를 통해 풍부한 하위 집합을 선택하여 테스트할 수 있습니다.
의사결정 테이블 테스팅의 장점
- 시스템 동작이 입력값에 따라 다를 때, 동등 분할 및 경계값 분석이 충분하지 않은 경우에 효과적입니다.
- 표현 방식이 간단해서 개발팀과 비즈니스팀 모두에게 이해하기 쉽고 유용합니다.
- 효과적인 조합을 구축하고 테스트 범위를 넓히는 데 도움이 됩니다.
- 어떤 복잡한 비즈니스 상황이든 의사결정표로 변환할 수 있습니다.
- 입력 조합의 수가 적을 경우 100% 커버리지를 보장할 수 있습니다.
의사결정 테이블 테스트의 단점
주된 단점은 입력값의 수가 증가함에 따라 표가 더욱 복잡해지고 관리하기 어려워진다는 점입니다.





