본문 바로가기

도서관

테스트 오라클(Test Oracle) 과 테스트 케이스의 시각화


게임QA 에서 진행하는 업무 중, 가장 많은 비중을 차지하는 것은 테스트 입니다.
테스트의 진행은 대부분 테스트 케이스(Test Case)를 만들고, 이 케이스를 채워나가는 일로 이루어져 있는데,
이 테스트 케이스의 형태는 주로 OX 체크 구조의 라인 단위를 사용 하고 있습니다.

※ 라인 형태의 테스트케이스 예시 이미지



그러나 실제 테스트에서 유용하게 사용하는 테스트 케이스에는
플로우 차트나 요약 이미지를 활용하는 것들도 있습니다.

테스트 케이스의 이러한 변형은
- 테스트의 목적이 무엇인지
- 그 목적을 달성하기 위해 필요한 테스트가 무엇인지
- 필요한 테스트를 잘 보여주기 위한 방법이 무엇인지

를 찾는 과정에서 만들어 질 수 있습니다.


SWQA 와 관련한 용어중에 테스트 오라클(Test Oracle) 이라는 단어가
이러한 과정에 대한 고민을 잘 상징하고 있다고 생각하여, 관련 강의 자료를 첨부합니다.
이 강의는 제가 만든것은 아니고, University of Maryland (http://www.cs.umd.edu) 의 2010년 가을 강의 자료 입니다.

※ 강의자의 허가를 받아 올리는 것이 아니라서, 앞서 제가 직접 진행한 강의들처럼 슬라이드로 제공하지는 않습니다. 
    다만, 해당 자료가 별도의 인증과정 없이도, 구글링으로 자유롭게 접근 가능한 상태여서 첨부파일로 첨부한 것이오니,
    혹여 해당 강의 관련하신분의 요청이 있을 경우에는 즉시 첨부삭제 할 예정입니다.


테스트 오라클은 테스트 실행 결과가 올바른지 여부를 판별하는 방법을 의미합니다.
- True Oracle : 모든 입력값에 대해 결과가 맞는지 확인하는 것
- Sample Oracle : 특정 값에 대해서만 결과가 맞는지 확인하는 것
- Heuristic Oracle : 일정단위로 결과값을 확인하는 것
- Consistent Oracle : 변경이 있는 경우 전후의 결과값이 같은지 확인하는 것


그런데, 게임QA 현업에서는 SWQA 와는 달리
이러한 테스트 오라클에 대한 구체적인 구분을 따로 해 진행하는 경우는 거의 없습니다.
다만, 이러한 개념이 목적하는 바가, 결과를 찾기 위한 고민의 과정이라는 면에서
"테스트 오라클" 이라는 단어를 참고 하는 것은 도움이 될 수 있을 것이라고 생각합니다.

테스트 케이스를 시각화 하는 작업은 이러한 이해를 기반으로 출발한 것이지만,
아직 이를 위한 툴이 나와 있지 않고, (그나마 유사한 형태로는 마인드맵 관련 툴 등이 있습니다)
게임QA 의 현업에 계신 분들이 많이 사용하지 않고 있기 때문에,
앞으로 더 많은 연구가 필요한 분야가 아닌가 싶습니다.

아래 이미지는 CQA(Critical QA) 에서 진행한, 테스트 케이스의 시각화 예시 입니다.

※ CQA 는 업무 특성상, 복잡한 레이어의 테스트가 진행되기 때문에, 
    라인 형태의 테스트 케이스로는 업무 진행이 어렵습니다. 
   
(라인 형태로는 CQA 테스트에 불필요한 내용이 너무 많아, 케이스 작성의 효율이 떨어집니다)