Search

테스트 관리

테스트의 입력과 과정, 결과를 관리하기 위해 필요한 요소와 산출물엔 테스트 케이스, 테스트 시나리오, 테스트 오라클, 테스트 하네스가 포함된다.
테스트 케이스
구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과 등으로 구성된 항목들을 정의한 명세서이다.
명세기반 테스트(블랙박스 테스트)의 설계 산출물에 해당한다.
미리 테스트 케이스를 정의한다면, 테스트 오류 방지 및 테스트 수행 자원의 낭비를 줄일 수 있다.
테스트 시나리오
테스트 케이스를 적용하는 순서에 따라 여러개의 테스트 케이스들을 묶은 집합이다.
테스트 케이스들을 적용하는 구체적인 절차를 명세한 문서이다.
작성시 시스템과 모듈, 항목 등의 기준으로 여러개의 시나리오를 분리해 작성해야 하며, 사용자의 요구사항과 설계 문서 등을 토대로 작성해야 한다.
테스트 오라클
테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입해 비교하는 활동이다.
테스트 오라클의 특징은 모든 테스트 케이스에 적용할 수 없는 제한된 검증, 수학적 기법을 이용하여 값을 구할 수 있는 수학적 기법, 프로그램 실행, 결과 비교, 커버리지 특정 등 자동화를 할 수 있는 자동화 기능이 있다.
테스트 오라클의 종류는 다음과 같다.
True 오라클 - 모든 테스트 케이스의 입력값에 대해 기대하는 오라클
Sampling 오라클 - 특정한 몇몇 테스트 케이스의 입력값들에 대해서만 기대하는 결과를 제공하는 오라클
Heuristic 오라클 - 샘플링 오라클을 개선하여, 특정 테스트 케이스의 입력값에 대해 기대하는 결과를 제공하고 나머지 입력값들에 대해선 추정으로 처리하는 오라클
Consistent 오라클 - 변경이 있을 떄 테스트 케이스의 수행 전과 후의 결과값이 동일한지 확인하는 오라클
테스트 하네스
테스트 과정을 지원, 관리하기 위해 사용되는 요소들의 집합이다.
테스트 드라이버(Test Driver) - 테스트 대상의 하위 모듈을 호출하고 모듈 테스트 수행 후의 결과를 도출하는 도구
테스트 스텁(Test Stub) - 테스트 대상의 상위 모듈을 대신하는, 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구
테스트 슈트(Test Suites) - 테스트 대상 컴포넌트나 모듈 등 시스템에 사용되는 테스트 케이스의 집합
테스트 케이스(Test Case) - 사용자의 요구사항을 정확하게 준수했는지 확인하기 위한 입력값, 실행조건, 기대 결과 등으로 만들어진 테스트 항목 명세서
테스트 스트립트(Test Script) - 자동화된 테스트 실행 절차에 대한 명세서
목 오브젝트(Mock Object) - 사전에 사용자의 행위를 조건부로 입력해두면, 그 상황에 맞는 예정된 행위를 수행하는 객체