본문 바로가기

정보처리기사/II. 소프트웨어 개발

II. 소프트웨어 개발 - 애플리케이션 테스트 관리 (1)

(1) 테스트 케이스

 1. 테스트 케이스

  - 특정 요구사항에 준수하는지를 확인하기 위해 개발된 입력값, 실행조건, 예상된 결과의 집합

 

 2. 테스트 케이스 작성절차

   계획 검토 및 자료 확보 -> 위험 평가 및 우선순위 결정 -> 테스트 요구사항 정의

  -> 테스트 구조 설계 및 테스트 방법 결정 -> 테스트 케이스 정의 -> 테스트 케이스 타당성 확인 및 유지보수

 

 3. 테스트 오라클

  1) 테스트 오라클의 개념

   - 결과가 참인지 거짓인지를 판단하기 위해서 참값을 입력하여 비교하는 기법

   - 참 오라클, 샘플링 오라클, 휴리스틱 오라클, 일관성 검사

 

   - 참 오라클 : 모든 입력값에 대하여 기대하는 결과를 생성함으로서 발생된 오류를 모두 검출

   - 샘플링 오라클 : 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클

   - 휴리스틱 오라클 : 특정 입력값에 대해서 올바른 결과를 제공하고 나머지 값들에 대해서는 휴리스틱으로 처리하는 오라클

   - 일관성 검사 수행 : 애플리케이션 변경이 있을 때 수행 전과 후의 결괏값이 동일한지 확인하는 오라클

 

(2) 테스트 레벨

 1. 테스트 레벨 개념

  - 테스트 활동의 그룹이며 프로젝트 책임과 연관되어있고 서로 독립적

 

 2. 테스트 레벨 종류

  - 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트

 

(3) 테스트 시나리오

 1. 테스트 시나리오 개념

  - 여러 테스트 케이스의 집합으로서, 테스트를 위한 절차를 명세한 문서

  

(4) 테스트 지식 체계

 1. 소프트웨어 테스트 종류

  - 블랙박스 테스트, 화이트박스 테스트, 경험 기반 테스트

 

  - 블랙박스 테스트 : 내부나 작동 원리를 모르는 상태에서 동작을 검사, 동등 분할, 경곗값 분석

  - 화이트박스 테스트 : 내부 구조와 동작을 검사하는 테스트, 제어 구조 시험, 루프시험

  - 경험 기반 테스트 : 이전의 경험, 직관, 테스터의 기술능력으로 부터 테스트 케이스 추출, 탐색적 테스팅, 오류추정

 

2. 소프트웨어 테스트의 원리

 - 결함이 존재함을 밝히는 것, 완벽한 테스팅은 불가능, 개발 초기에 테스팅 시작, 결함 집중,

    살충제 패러독스, 정황에 의존적, 오류 부재의 궤변