개발 단계에 따른 애플리케이션 테스트 (2과목)
개발 단계에 따른 애플리케이션 테스트
- 소프트웨어 개발단계는 우하향하는 그래프로 보여지고 그것을 테스트하는 것은 다시 우상향 그래프로 보여진다. 그렇기 때문에 둘을 합쳐 V-모델 이라고 한다.
- 소프트웨어 개발 단계는 요구사항, 분석, 설계, 구현으로 나뉜다.
- 테스트 단계는 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 나뉜다.
단위 테스트(Unit Test)
- 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행
- 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사한다.
- 크게 구조 기반 테스트와 명세 기반 테스트로 나뉘고 주로 구조 기반 테스트를 시행한다.
- 구조 기반 테스트로는 주로 화이트박스 테스트를 시행하며 제어 흐름과 조건을 결정하기 위해 시행한다.
- 명세 기반 테스트는 동등 분할, 경계 값 분석을 목적으로 시행되며 블랙박스 테스트를 시행한다.
통합 테스트(Integration Test)
- 단위 테스트가 완료된 모듈을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트를 의미한다.
- 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류를 검사한다.
시스템 테스트(System Test)
- 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트이다.
- 기능적, 비기능적 요구사항으로 구분하여 각각을 만족하는지 테스트한다.
- 기능적 요구사항은 블랙박스 테스트를 시행하여 검사한다.
- 비기능적 요구사항은 화이트박스 테스트를 시행하여 검사한다.
인수 테스트(Acceptance Test)
- 사용자의 요구사항을 충족하는지에 중점을 둔다.
- 사용자가 직접 테스트한다.
- 인수테스트에 문제가 없다면 사용자는 소프트웨어를 인수하고 프로젝트가 종료된다.
- 6가지 종류로 구분해서 테스트한다.
- 사용자 인수 테스트
- 운영상의 인수 테스트
- 계약 인수 테스트
- 규정 인수 테스트
- 알파 테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트이다.
- 베타 테스트 : 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 필드 테스팅(Field Testing)이라고도 한다.