정보처리기사/필기

[2과목-4장-055] 테스트 케이스 / 테스트 시나리오 / 테스트 오라클

여니두 2020. 4. 25.

1. 테스트 케이스(Test Case)

: SW가 사용자 요구사항을 정확히 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서.

- 명세 기반 테스트의 설계 산출물

- 미리 설계하면 테스트 오류 방지 가능, 인력/시간 등 낭비 줄일 수 있음

- 가장 이상적 테스트 케이스 설계하려면 시스템 설계 시 작성해야 함

 

* 작성 순서

- 테스트 전략, 테스트 계획서 등을 기반으로

1) 테스트 계획 검토 및 자료 확보

- 테스트 계획서 재검토 > 테스트 대상 범위 및 접근 방법 등을 이해

- 시스템 요구사항, 기능 명세서 검토하고 테스트 대상 시스템 정보를 확보

 

2) 위험 평가 및 우선순위 결정

결함 위험 정도에 따른 우선순위 결정, 어느 부분에 초점 맞춰 테스트할지 결정

 

3) 테스트 요구사항 정의

사용자 요구사항, 테스트 대상 재검토하고 테스트 특성, 조건, 기능 등 분석

 

4) 테스트 구조 설계 및 테스트 방법 결정

- 테스트 케이스 형식, 분류 방법을 결정

- 테스트 절차, 장비, 도구, 테스트 문서화 방법을 결정

 

5) 테스트 케이스 정의

요구사항에 따라 테스트 케이스 작성. 입력 값, 실행 조건, 예상 결과 등을 기술

 

6) 테스트 케이스 타당성 확인 및 유지 보수

- SW 기능 or 환경 변화에 따라 테스트 케이스 갱신

- 테스트 케이스의 유용성 검토

 

 

2. 테스트 시나리오(Test Scenario)

테스트 케이스 적용 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합

테스트 케이스들을 적용하는 구체적 절차를 명세한 문서

 

- 테스트 순서에 대한 구체적 절차, 사전 조건, 입력 데이터 등이 설정되어 있음

- 테스트 순서를 미리 정함으로써 테스트 항목을 빠짐없이 수행 가능

 

* 유의 사항

- 시스템별, 모듈별, 항목별 등과 같이 여러 개의 시나리오로 분리하여 작성해야 함

- 사용자 요구사항, 설계 문서 등을 토대로 작성해야 함

- 각 테스트 항목) 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등을 포함해서 작성해야 함

- 유스케이스 간 업무 흐름이 정상적인지를 테스트할 수 있도록 작성해야 함

- 개발된 모듈 or 프로그램 간 연계가 정상적으로 동작하는지 테스트할 수 있도록 작성해야 함

 

 

3. 테스트 오라클(Test Oracle)

테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법 및 활동

- 결과를 판단하기 위해 테스트 케이스에 대한 예상 결과를 계산하거나 확인

- 특징

1) 제한된 검증: 모든 테스트 케이스에 적용 못함

2) 수학적 기법

3) 자동화 기능: 테스트 대상 프로그램의 실행, 결과 비교, 커버리지 측정 등을 자동화 가능

 

* 종류

1) 참 오라클

모든 테스트 케이스 입력 값에 대해 기대하는 결과를 제공

발생된 모든 오류 검출 가능

>> 미션 크리티컬 업무

 

2) 샘플링 오라클

몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공

>> 일반적 업무

 

3) 추정(Heuristic) 오라클

샘플링 오라클을 개선. 특정 테스트 케이스 입력 값에 대해 기대하는 결과를 제공

나머지 입력값들에 대해선 추정으로 처리

>> 일반적 업무

 

4) 일관성 검사 오라클

애플리케이션 변경 있을 때, 테스트 케이스 수행 전/후의 결과 값이 동일한지 확인

 

 

** 테스트 케이스: 개발 SW가 제대로 작동하는지 확인 위한 데이터, 실행 조건 등의 집합

** 테스트 시나리오: 여러 테스트 케이스가 있을 때 이를 적용하는 순서

** 테스트 오라클: 결과가 옳은지 확인하는 도구

- 맞는지/틀린지 판단 위한 기준 값을 계산하거나 확인하는 기법

댓글