자격증/정보처리기사 필기
[정보처리기사 필기] SW 개발 : 테스트 케이스 / 테스트 시나리오 / 테스트 오라클 / 테스트 하네스
Yuco
2023. 1. 30. 20:08
정보처리기사 필기 2과목 - 소프트웨어 개발 : 테스트 케이스 / 테스트 오라클
[1] 테스트 케이스
1. 정의
- 명세 기반 테스트의 설계 산출물
- 특정한 프로그램의 일부분 또는 경로에 따라 수행하거나, 특정한 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서
- 미리 설계시 테스트 오류 방지 및 테스트 수행 자원의 낭비를 줄일 수 있음
2. 작성 순서
테스트 계획 검토 및 자료 확보 ▶ 위험 평가 및 우선순위 결정 ▶ 테스트 요구사항 정의 ▶ 테스트 구조 설계 및 테스트 방법 결정 ▶ 테스트 케이스 정의 ▶ 테스트 케이스 타당성 확인 및 유지 보수
[2] 테스트 시나리오
1. 정의
- 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합
- 테스트 케이스들을 적용하는 구체적인 절차를 명세한 문서
2. 작성시 유의사항
- 시스템별, 모듈별, 항목별 등과 같이 여러 개의 시나리오로 분리해 작성 (하나의 시나리오에 모두 작성하는 게 아님)
- 고객의 요구사항과 설계 문서 등을 토대로 작성
[3] 테스트 오라클
1. 정의
- 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참(True) 값을 입력하여 비교하는 기법 및 활동을 의미
2. 특징
- 제한된 검증 : 모든 테스트 케이스에 적용할 수 없음
- 수학적 기법 : 값을 수학적 기법을 이용해 구할 수 있음
- 자동화 기능 : 프로그램 실행, 결과 비교, 커버리지 측정 등을 자동화할 수 있음
3. 유형
참(True) 오라클 | 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생한 오류를 모두 검출할 수 있는 오라클 |
샘플링(Sampling) 오라클 | 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클 |
휴리스틱(Heuristic, 추정) 오라클 | 샘플링 오라클을 개선한 오라클로, 특정 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리하는 오라클 |
일관성 검사(Consistent) 오라클 | 애플리케이션 변경이 있을 때, 수행 전과 수행 후의 결과값이 동일한지 확인하는 오라클 |
[4] 테스트 하네스 ⭐
1. 정의
- 테스트하네스란 자동화된 테스트 지원도구
- 애플리케이션 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로, 테스트를 지원하기 위한 코드와 데이터
- 단위 또는 모듈 테스트에 사용하기 위해 코드 개발자가 작성
2. 구성 요소
구성 요소 | 설명 |
테스트 드라이버 (Test Driver) | - 컴포넌트나 시스템을 제어하거나 호출하는 컴포넌트를 대체하는 소프트웨어 컴포넌트 또는 테스트 툴 - 테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 등 상향식 테스트에 필요 |
테스트 스텁 (Test Stub) | - 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요 - 스텁을 호출하거나 또는 스텁에 의존적인 컴포넌트를 개발하거나 테스트할 때 사용됨 - 스텁은 호출된 컴포넌트를 대체 |
테스트 슈트 (Test Suites) | - 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합 |
테스트 케이스 (Test Case) | - 사용자의 요구사항을 정확하게 준수했는지 확인하기 위한 입력 값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목 명세서 |
테스트 스크립트 (Test Script) | - 자동화된 테스트 실행 절차에 대한 명세서 |
목 오브젝트 (Mock Object) | - 사용자의 행위를 조건부로 사전에 입력해 두면, 그 상황에 예정된 행위를 수행하는 객체를 말함 |