테스트 오라클(Test Oracle)이란 무엇인가?
테스트를 진행하다 보면 항상 이런 질문이 생깁니다.
"이 테스트 결과가 정상인지 어떻게 판단할까?"
예를 들어 어떤 기능을 테스트했을 때
결과가 기대한 것과 같은지 판단해야 합니다.
이때 테스트 결과가 올바른지 판단하는 기준이 되는 것을
테스트 오라클(Test Oracle) 이라고 합니다.
조금 더 간단하게 정리하면 다음과 같습니다.
👉 테스트 결과가 올바른지 판단하는 기준
즉, 테스트 오라클은
테스트의 정답을 판단하는 기준 역할을 합니다.
간단한 예시로 이해하기
예를 들어 로그인 기능을 테스트한다고 가정해보겠습니다.
테스트 케이스
아이디와 비밀번호가 맞으면 로그인 성공해야 합니다.
테스트 수행
아이디: test
비밀번호: 1234
로그인 버튼 클릭
결과
로그인이 성공했습니다.
이 경우 우리는 결과를 보고 정상 동작인지 판단합니다.
이때 판단 기준은 다음과 같습니다.
- 올바른 계정 정보 입력 시 로그인 성공해야 함
이 기준이 바로 테스트 오라클입니다.
테스트 오라클이 중요한 이유
테스트의 목적은 단순히 기능을 실행해보는 것이 아니라
결과가 올바른지 판단하는 것입니다.
하지만 판단 기준이 명확하지 않다면 문제가 발생할 수 있습니다.
예를 들어
- 결과가 정상인지 애매한 경우
- 기획서에 명확하게 정의되지 않은 경우
- 기대 결과가 없는 경우
이런 상황에서는 테스트 결과를 정확하게 판단하기 어렵습니다.
그래서 QA 업무에서는
테스트 결과를 판단할 수 있는 기준이 매우 중요합니다.
이 역할을 하는 것이 바로 테스트 오라클입니다.
테스트 오라클의 대표적인 예
실제 테스트에서는 다양한 기준이 테스트 오라클이 될 수 있습니다.
대표적인 예를 정리해보면 다음과 같습니다.
📄 기획서 / 요구사항 문서
가장 일반적인 테스트 오라클입니다.
예시
- 기능 정의서
- 요구사항 문서
- 기획 문서
이 문서에 정의된 내용이 테스트 결과 판단 기준이 됩니다.
📘 디자인 시안
UI 테스트에서는 디자인 시안도 중요한 기준이 됩니다.
예를 들어
- 버튼 위치
- 색상
- 레이아웃
이러한 요소들이 디자인과 다르면 버그로 판단할 수 있습니다.
📊 기존 시스템 동작
이미 운영 중인 시스템의 동작도 기준이 될 수 있습니다.
예를 들어
- 기존 서비스와 동일한 동작인지
- 이전 버전과 차이가 없는지
이런 비교도 테스트 오라클로 활용됩니다.
🧠 경험 기반 판단
QA의 경험도 테스트 결과 판단에 도움을 줄 수 있습니다.
예를 들어
- 일반적인 서비스 흐름과 다른 동작
- 사용자 경험에 어색한 부분
이러한 부분도 테스트 과정에서 발견될 수 있습니다.
테스트 오라클이 없는 경우
가끔 테스트를 진행하다 보면
명확한 테스트 오라클이 없는 상황도 발생합니다.
예를 들어
- 기획 문서가 부족한 경우
- 요구사항이 명확하지 않은 경우
- 신규 기능이라 기준이 없는 경우
이런 경우에는
- 기획자와 확인하거나
- 개발자와 논의하거나
- 기존 시스템을 참고하는 방식으로
기준을 정해야 합니다.
이 과정 역시 QA 업무에서 중요한 부분입니다.
정리
테스트 오라클(Test Oracle)은
테스트 결과가 올바른지 판단하는 기준입니다.
정리하면 다음과 같습니다.
📌 테스트 결과의 정답을 판단하는 기준
📌 요구사항, 기획서, 디자인 등이 기준이 될 수 있음
📌 QA 테스트에서 매우 중요한 개념
테스트를 진행할 때 단순히 기능을 실행해보는 것뿐만 아니라
결과를 판단할 수 있는 기준이 무엇인지 생각하는 것이 중요합니다.
개인적으로 정리해본 개념
테스트를 진행하다 보면
결과가 애매한 경우를 종종 경험하게 됩니다.
이럴 때 대부분
- 기획서를 다시 확인하거나
- 기획자에게 확인하거나
- 기존 동작을 비교해보는 방식으로 판단하게 됩니다.
이 과정이 바로 테스트 오라클을 확인하는 과정이라고 생각합니다.
앞으로 QA 이론 정리를 하면서
테스트와 관련된 다양한 개념들도 함께 정리해보려고 합니다.
'QA 이론 & 테스트 기법' 카테고리의 다른 글
| 🔖 테스트 조건(Test Condition)이란 무엇인가? QA 테스트 설계의 핵심 개념 정리 (0) | 2026.05.22 |
|---|---|
| 🔖 테스트 전략(Test Strategy) vs 테스트 계획(Test Plan) 차이 정리 (QA 이론 쉽게 이해하기) (0) | 2026.05.20 |
| 🔖 테스트 커버리지(Test Coverage)란 무엇인가? QA에서 중요한 이유 쉽게 정리 (0) | 2026.05.18 |
| 🔖 리스크 기반 테스트(Risk-Based Testing)란 무엇인가? QA 테스트 우선순위 정하는 방법 (0) | 2026.05.15 |
| 🔖 에러 추측 테스트(Error Guessing)란 무엇인가? QA 경험 기반 테스트 기법 쉽게 이해하기 (0) | 2026.05.13 |