시스템 테스트
05. 테스트 케이스
1) 테스트 케이스(Test Case)의 개념
- 명세 기반 테스트를 위한 설계 산출물
- 특정한 프로그램의 일부분 또는 경로에 따라 수행함
- 실제로 다양한 데이터를 입력하여 그 결과를 확인해보는 과정
- 인터페이스 테이블이나 파일 단위로 작성함
- 가장 핵심적인 사항은 테스트 항목의 도출
- 테스트할 대상 및 기능 등이 충분하고, 완전하게, 누락 없이, 일관성 있게, 구체적으로 테스트가 될 수 있도록 함
- 인터페이스 구간에서의 데이터 및 프로세스 흐름에 따라 테스트 케이스를 작성함
- 특정한 요구사항을 준수하는지 확인하기 위해 설계된 테스트 조건, 입력값, 실행 조건, 수행 결과로 구성된 테스트 항목의 명세서
- 테스트 케이스 프로세스를 통해 정확성, 재사용성, 간결성을 보장할 수 있게 함
2) 테스트 케이스의 구성 항목(IEEE 829)
- IEEE 829
- 표준화 단체인 미국에 있는 전기, 전자기술자협회(IEEE)에서 테스트 케이스 구성 요소를 문서로 정의한 프로토콜
- 규정 번로가 829
항목 | 설명 |
---|---|
식별자 | 항목 식별자, 일련번호 |
테스트 항목 | 테스트할 모듈 또는 기능 |
입력 명세 | 입력값 또는 테스트 조건 |
츨략 명세 | 테스트 케이스 실행 시 기대되는 출력값 결과 |
환경 설정 | 테스트 수행 시 필요한 하드웨어나 소프트웨어 환경 |
특수 절차 요구 | 테스트 케이스 수행 시 특별히 요구되는 절차 |
의존성 기술 | 테스트 케이스 간의 의존성 |
3) 테스트 오라클(Test Oracle)
1. 테스트 오라클의 개념
- 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동
2. 테스트 오라클의 유형
- 참(True) 오라클
- 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생한 오류를 모두 컴출할 수 있는 오라클
- 샘플링(Sampling) 오라클
- 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해 주는 오라클
- 휴리스틱(Heuristic, 추정) 오라클
- 샘플링 오라클을 개선한 오라클로, 특정 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 추정으로 처리하는 오라클
- 일관성 테스트(Consistent Test) 오라클
- 소프트웨어 변경이 있을 때, 수행 전과 후의 결과값이 동일한지 확인하는 오라클
3. 테스트 오라클의 적용 방안
- 참 오라클은 주로 항공기, 임베디드, 발전소 소프트웨어 등 작은 실수만으로도 치명적인 결과를 초래하는 업무에 적용함
- 샘플링/추정 오라클은 일반, 업무용, 게임, 오락 등의 일반적인 업무에 적용함
06. 테스트 시나리오
1) 테스트 시나리오의 개념
- 테스트를 위한 여러 테스트 케이스의 집합
- 테스트 케이스의 동작 순서를 기술한 문서
- 테스트 시나리오는 테스트 절차를 미리 정리하여 설계 단계에서 중요했던 요구사항이나 대안 흐름과 같은 테스트 항목을 누락 없이 테스트하기 위함
2) 테스트 시나리오 작성 시 유의점
- 테스트 항목을 하나의 시나리오에 모두 작성하지 않음
- 시스템별, 모듈별, 항목별 테스트 시나리오를 분리하여 작성함
- 고객의 요구사항과 설계 문서 등을 기반으로 테스트 시나리오를 작성함
- 테스트 항목은 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등의 항목을 포함하여 작성함
07. 테스트 환경 구축
1) 테스트 환경 구축의 개념
- 애플리케이션이 실제 운영 시스템에서 정상적으로 작동하는지 테스트하기 위하여 실제 운영 시스템과 동일한 하드웨어, 소프트웨어, 네트워크 등의 시설을 구축하는 것
2) 테스트 환경 구축의 유형
- 하드웨어 기반의 테스트 환경 구축
- 서버 장비, 클라이언트 장비, 네트워크 장비 등을 설치하는 작업
- 소프트웨어 기반의 테스트 환경 구축
- 구축된 하드웨어 환경에 테스트할 애플리케이션을 설치하고 필요한 데이터를 준비하는 작업
- 가상 시스템 기반의 테스트 환경 구축
- 가상 시스템은 물리적으로 독립된 테스트 환경을 구축하기 힘든 경우에 구축함
- 가상 머신 기반의 서버 또는 클라우드 환경을 이용하여 테스트 환경을 구축함
- 네트워크는 VLAN과 같은 기법을 이용하여 논리적 분할 환경을 구축할 수 있음
08. 테스트 데이터 및 테스트 조건
1) 테스트 데이터
1. 테스트 데이터의 개념
- 컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터 집합
- 프로그램의 기능을 하나씩 순번에 따라 확실하게 테스트할 수 있도록 조건을 갖춘 데이터
2. 테스트 데이터의 필요성
- 테스트 시 오류 데이터를 사용하면 오류 결과가 출력되어 시간과 비용이 낭비됨
- 테스트를 효율적으로 운용하고 데이터의 기밀을 유지하며 신뢰성 및 예측 가능한 테스트를 위해 테스트 데이터의 준비가 필요함
3. 테스트 데이터의 유형
- 선행된 연산에 의해 얻어진 실제 데이터 유형
- 인위적으로 만들어진 가상의 데이터 유형
4. 테스트 데이터 준비
- 실제 데이터는 연산에 의해 준비함
- 실제 운영 데이터를 복제하여 준비함
- 가상의 데이터는 스크립트를 통해서 생성함
2) 테스트 조건
- 테스트 시작 조건
- 계획을 수립함
- 사용자 요구사항에 대한 테스트 명세서를 작성함
- 투입 조직 및 참여 인력의 역할과 책임을 정의함
- 테스트 일정을 확정함
- 테스트 환경을 구축함
- 테스트 종료 조건
- 정상적인 테스트를 모두 수행한 경우
- 차기 일정이 시작되는 시점이나 테스트 일정이 만료되었을 경우
- 테스트에 소요되는 비용을 모두 소진한 경우
- 테스트 성공과 실패의 판단 기준
- 기능 및 비기능 테스트 시나리오처럼 예상 결과를 만족하면 성공이고, 그렇지 않으면 실패로 판단함
- 동일한 데이터 또는 이벤트를 중복하여 테스트하여도 여전히 이전의 테스트와 같은 결과가 나올 때 성공으로 판단함
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
애플리케이션 테스트 관리 7 (0) | 2023.05.23 |
---|---|
애플리케이션 테스트 관리 6 (0) | 2023.05.23 |
애플리케이션 테스트 관리 4 (0) | 2023.05.23 |
애플리케이션 테스트 관리 3 (0) | 2023.05.23 |
애플리케이션 테스트 관리 2 (0) | 2023.05.23 |