자격증/정보처리기사 필기

[정보처리기사 필기] 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) - 사용자의 행위를 조건부로 사전에 입력해 두면, 그 상황에 예정된 행위를 수행하는 객체를 말함