1. 테스트 케이스 Test Case
- 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
- 명세 기반 테스트의 설계 산출물
- 명세 기반 테스트 : 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 구현하고 있는지를 확인하는 것
- 테스트 케이스를 미리 설계하면 테스트 오류를 방지할 수 있고 테스트 수행에 필요한 인력, 시간 등의 낭비를 줄일 수 있음
- 테스트 케이스는 테스트 목표와 방법을 설정한 후 작성
- 시스템 설계 단계에서 작성하는 것이 가장 이상적
2. 테스트 케이스 작성 순서
- 테스트 계획 검토 및 자료 확보
- 테스트 계획서를 재검토하여 테스트 대상 범위 및 접근 방법 등을 이해
- 시스템 요구사항과 기능 명세서를 검토하고 테스트 대상 시스템의 정보를 확보
- 위험 평가 및 우선순위 결정
- 결함의 위험 정도에 따른 우선순위를 결정하고, 어느 부분에 초점을 맞춰 테스트할지를 결정
- 테스트 요구사항 정의
- 시스템에 대한 사용자 요구사항이나 테스트 대상을 재검토하고, 테스트 특성, 조건, 기능 등을 분석
- 테스트 구조 설계 및 테스트 방법 결정
- 테스트 케이싀 형식과 분류 방법을 결정
- 테스트 절차, 장비, 도구, 테스트 문서화 방법을 결정
- 테스트 케이스 정의
- 요구사항에 따라 테스트 케이스를 작성, 입력 값, 실행 조건, 예상 결과 등을 기술
- 테스트 케이스 타당성 확인 및 유지 보수
- 소프트웨어의 기능 또는 환경 변화에 따라 테스트 케이스를 갱신
- 테스트 케이스의 유용성을 검토
3. 테스트 시나리오 Test Scenario
- 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스를 묶은 집합
- 테스트 케이스들을 적용하는 구체적인 절차를 명세한 문서
- 테스트 순서에 대한 구체적인 절차, 사전 조건, 입력 데이터 등이 설정되어 있음
- 테스트 순서를 미리 정함으로써 테스트 항목을 빠짐없이 수행할 수 있음
4. 테스트 시나리오 작성 시 유의 사항
- 시스템별, 모듈별, 항목별 등과 같이 여러 개의 시나리오로 분리하여 작성해야 함
- 사용자의 요구사항과 설계 문서 등을 토대로 작성해야 함
- 각각의 테스트 항목은 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등을 포함해서 작성해야 함
- 유스케이스(Use Case) 간 업무 흐름이 정상적인지를 테스트할 수 있도록 작성해야 함
- 유스케이스 : 사용자 측면에서의 요구사항, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술
- 개발된 모듈 또는 프로그램 간의 연계가 정상적으로 동작하는지 테스트할 수 있도록 작성
5. 테스트 오라클 Test Oracle
- 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법 및 활동을 말함
- 결과를 판단하기 위해 테스트 케이스에 대한 예상 결과를 계산하거나 확인
- 테스트 오라클의 특징
- 제한된 검증 : 테스트 오라클을 모든 테스트 케이스에 적용할 수 없음
- 수학적 기법 : 테스트 오라클의 값을 수학적 기법을 이용하여 구할 수 있음
- 자동화 가능 : 테스트 대상 프로그램의 실행, 결과 비교, 커버리지 측정 등을 자동화 할 수 있음
- 오라클의 종류 : 참 True 오라클, 샘플링 Sampling 오라클, 추정 Heuristic 오라클, 일관성 Contistent 검사 오라클 등
6. 테스트 오라클의 종류
- 참 True 오라클
- 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클
- 발생된 모든 오류를 검출할 수 있음
- 항공기, 은행, 발전소 소프트웨어 등 미션 크리티컬한 업무에 사용됨
- 미션 크리티컬 Mission Critical
- 단 한 번이라도 다운되면 시스템 전체에 치명적인 영향을 주므로 절대 다운되면 안되는 시스템
- 항공기 운행, 은행의 온라인 시스템 등
- 미션 크리티컬 Mission Critical
- 샘플링 Sampling 오라클
- 특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클
- 기대하는 결과의 예시 : 퇴직금을 계산하는 프로그램에서 근무기간을 넣어 테스트 케이스를 실행하였을 경우, 예상되는 퇴직금
- 일반적인 업무, 게임, 오락 등에 사용
- 특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클
- 추정 Heuristic 오라클
- 샘플링 오라클을 개선한 오라클
- 특정 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공
- 나머지 입력 값들에 대해서는 추정으로 처리하는 오라클
- 일반적인 업무, 게임, 오락 등에 사용
- 일관성 Contistent 검사 오라클
- 애플리케이션의 변경이 있을 때, 테스트 케이스의 수행 전과 후의 결과 값이 동일한지를 확인하는 오라클
<애플리케이션 테스트 프로세스>
- 개발된 소프트웨어가 사용자의 요구대로 만들어졌는지, 결함은 없는지 등을 테스트하는 절차
- 순서
1. 테스트 계획 : 프로젝트 계획서, 요구 명세서 등을 기반으로 테스트 목표를 정의하고 테스트 대상 및 범위를 결정
2. 테스트 분석 및 디자인 : 테스트 목적과 원칙을 검토하고 사용자의 요구사항을 분석
3. 테스트 케이스 및 시나리오 작성 : 테스트 케이스의 설계 기법에 따라 테스트 케이스를 작성하고 검토 및 확인한 후 테스트 시나리오를 작성
4. 테스트 수행 : 테스트 환경을 구축한 후 테스트를 수행, 테스트의 실행 결과를 측정하여 기록
5. 테스트 결과 평가 및 리포팅 : 테스트 결과를 비교 분석하여 테스트 결과서를 작성
6. 결함 추적 및 관리 : 테스트를 수행한 후 결함이 어디에서 발생했는지 어떤 종류의 결함인지 등 결함을 추적하고 관리
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 애플리케이션 테스트 관리 - 051. 결함 관리 (0) | 2025.02.12 |
---|---|
[정보처리기사 필기] 애플리케이션 테스트 관리 - 050. 테스트 자동화 도구 (0) | 2025.02.12 |
[정보처리기사 필기] 애플리케이션 테스트 관리 - 048. 통합 테스트 (0) | 2025.02.12 |
[정보처리기사 필기] 애플리케이션 테스트 관리 - 047. 개발 단계에 따른 애플리케이션 테스트 (0) | 2025.02.11 |
[정보처리기사 필기] 애플리케이션 테스트 관리 - 046. 테스트 기법에 따른 애플리케이션 테스트 (0) | 2025.02.11 |