정보처리기사/필기

[2과목-4장-052] 개발 단계에 따른 애플리케이션 테스트

여니두 2020. 4. 24.

SW의 개발 단계에 따라 분류됨. 이렇게 분류된 것: 테스트 레벨

- SW 개발 단계에서부터 테스트를 수행 > 코드 상의 오류 + 요구 분석의 오류, 설계 인터페이스 오류 등도 발견 가능

- V-모델: 애플리케이션 테스트와 SW 개발 단계를 연결하여 표현한 것

 

 

** 검증 테스트) 개발자 기준 테스트 (단위 테스트, 통합 테스트, 시스템 테스트)

** 확인 테스트) 사용자 기준 테스트 (인수 테스트)

 

* 순서

1. 단위 테스트 (Unit Test)

: 코딩 직후 SW 설계 최소 단위인 모듈 or 컴포넌트에 초점을 맞춰 테스트

- 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등 검사

- 사용자 요구사항 기반으로 한 기능성 테스트를 최우선 수행

- 주로 구조 기반 테스트를 시행

 

1) 구조 기반 테스트

: 내부 구조 및 복잡도를 검증하는 화이트박스 테스트 시행

> 목적: 제어 흐름, 조건 결정

 

2) 명세 기반 테스트

: 목적 및 실행 코드 기반의 블랙박스 테스트 시행

> 목적: 동등 분할, 경계값 분석

 

2. 통합 테스트 (Integration Test)

: 단위 테스트가 완료된 모듈들을 결합 > 하나의 시스템으로 완성시키는 과정에서의 테스트

- 모듈 간 or 통합된 컴포넌트 간의 상호 작용 오류 검사

 

3. 시스템 테스트 (System Test)

: 개발된 SW가 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트

- 환경적인 장애 리스크를 최소화하기 위해선 실제 사용 환경과 유사하게 만든 테스트 환경에서 테스트 수행해야 함

 

1) 기능적 요구사항: 명세서 기반의 블랙박스 테스트 시행

2) 비기능적 요구사항: 구조적 요소에 의한 화이트박스 테스트 시행

 

** 환경적인 장애 리스크: 테스트 시 실제 sw를 사용할 환경이 테스트 환경과 달라서 발생 가능한 바람직하지 못한 결과

 

4. 인수 테스트 (Acceptance Test)

: 개발한 SW가 사용자 요구사항을 충족하는지에 중점을 두고 테스트

- 사용자가 직접 테스트

- 문제가 없으면 사용자는 SW를 인수, 프로젝트는 종료

 

1) 사용자 인수 테스트

2) 운영상의 인수 테스트: 시스템 관리자가 시스템 인수 시 수행

3) 계약 인수 테스트: 계약상의 인수/검수 조건을 준수하는지 여부

4) 규정 인수 테스트

5) 알파 테스트: 개발자 장소에서 사용자가 개발자 앞에서 행하는 테스트

- 통제된 환경에서 행해짐. 오류, 문제점을 사용자와 개발자가 함께 확인

6) 베타 테스트: 최종 사용자가 여러 사용자 앞에서 행하는 테스트

- 실업무를 가지고 직접 테스트. 개발자에 의해 제어되지 않은 상태에서 행해짐. 발견된 오류, 문제점을 기록 / 개발자에게 주기적 보고

댓글