posted by 희정냥★ 2012. 7. 17. 22:56

1. 소프트웨어 시험성 강화를 위한 테스트 오라클(Test Oracle)

테스트 대상 소프트웨어의 실제 결과와 비교할 목적으로 예상결과를 결정하는 근거

테스트 오라클은 (벤치마크를 위한) 기존 시스템, 사용자 매뉴얼, 또는 개인의 전문지식일 수 있으나 코드(Code)가 될 수는 없다. 


2. 테스트 오라클(Test Oracle)의 특징 및 유형

가. 테스트 오라클의 특징

제한된 검증 : 모든 테스트 Case별로 테스트 오라클을 작성하기가 현실적으로 어려움

수학적 기법 적용 : 수학적인 기법을 적용하여 오라클의 값을 구할 수 있음 


나. 테스트 오라클의 유형

- 실제 오라클(True Oracle) : 모든 입력값들에 대해 원하는 결과들을 생성하여 발생된 오류를 놓치지 않고 검출 할 수 있는 오라클을 말한다. 보통 테스트 대상이 되는 프로그램과는 다른 독립적인 알고리즘을 사용하여 개발하기 때문에 오라클을 개발하는데 소요되는 비용이 크다는 단점이 있다.

- 샘플링 오라클(Sampling Oracle) : 특정 몇몇 입력값들에 대해서만 원하는 결과를 제공해주는 오라클을 말한다. 장점은 테스트 오라클을 쉽게 맊들 수 있으며 수작업으로도 간단하게 할 수 있지만 선택된 특정 입력값들에 대해서만 원하는 결과를 제공하기 때문에 다른 입력값들에 대해서 발생한 오류들은 검출되지 않는다는 단점이 있다.

- 휴리스틱 오라클(Heuristic Oracle) : 샘플링 오라클의 단점을 개선하기 위해 특정 몇몇 입력값들에 대해서는 샘플링 오라클의 경우처럼 올바른 결과를 제공하고 나머지 입력값들에 대해서는 휴리스틱으로 처리하는 오라클이다. 

- 일관성 검사 오라클(Consistent Oracle) : 대부분의 상업용 테스트 도구에서 지원하는 테스트 오라클 형태. 리그레션 테스트에서의 테스트 오라클은 수정되기 전의 프로그램의 실행결과와 수정된 후의 프로그램의 실행결과를 비교하는 역할을 담당하며 이는 자동으로 할 수 있다.



3. 테스트 하네스 

시스템 및 시스템 컴포넌트를 시험하는 환경의 일부분으로 시험을 지원하는 목적 하에 생성된 코드와 데이터. 시험 드라이버 (test driver)라고도 하며 일반적으로 단위 시험이나 모듈 시험에 사용하기 위해 코드 개발자가 만든다. 단순히 시험을 위한 사용자 인터페이스를 제공하거나, 정교하게 제작된 경우, 코드가 변경되었을 때에도 항상 같은 결과를 제공하여 시험을 자동화시킬 수 있도록 디자인 되어 있다.



* 출처 : http://i-bada.blogspot.kr/2012/04/test-oracle.html

http://word.tta.or.kr/terms/termsView.jsp?gubun=1&terms_num=22173

'Computer 2.0 > Software Engineering' 카테고리의 다른 글

테스트 오라클, 테스트 하네스  (0) 2012.07.17
CMMI  (0) 2012.07.06
SWEBOK  (0) 2012.07.06
UML 1.3, UML 2.0  (0) 2012.07.05
Function Point (기능점수)  (0) 2012.07.05
PMBOK  (0) 2012.06.29

댓글을 달아 주세요