Study/정보처리기사

056 개발 단계에 따른 애플리케이션 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발

삼공비 2022. 1. 27. 17:08

1. 개발 단계에 따른 애플리케이션 테스트

- 소프트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류

- 분류된 것을 테스트 레벨이라고 함

- 애플리케이션 테스트는 개발 단계에서부터 수행하므로 코드 오류뿐아니라 요구 분석 오류, 설계 오류 등을 발견 가능

- V-모델 : 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것 

 

2. 단위 테스트

- 코딩 직후 소프트웨어 설계 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트

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

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

- 발견 가능한 오류 : 알고리즘 오류에 따른 원치 않는 결과, 탈출구가 없는 반복문의 사용, 틀린 계산 수식

- 구조 기반 테스트와 명세 기반 테스트로 나뉨, 주로 구조 기반을 시행

     1. 구조 기반 테스트 :

         테스트 내용 : 프로그램 구조 및 복잡도를 검증하는 화이트박스 테스트 시행

         테스트 목적 : 제어 흐름, 조건 결정

     2. 명세 기반 테스트 :

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

         테스트 목적 : 동등 분할, 경계 값 분석

 

3. 통합 테스트

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

- 모듈 / 컴포넌트 간 상호 작용 오류를 검사

 

4. 시스템 테스트

- 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는지 확인

- 환경적인 장애 리스크를 최소화 하기 위해 테스트

- 기능적 요구사항과 비기능적 요구사항으로 구분하여 각각 테스트

1. 기능적 요구사항

     테스트 내용 : 요구사항 명세서, 비지니스 절차, 유스케이스 등 명세서 기반의 블랙박스 테스트 시행

2. 비기능적 요구사항

     테스트 내용 : 성능 테스트, 회복 테스트, 보안 테스트, 내부 시스템 메뉴 구조, 웹 페이지 네비게이션 등 

                         구조적 요소에 대한 화이트박스 테스트 시행

 

5. 인수 테스트

- 요구사항을 충족하는지에 중점을 두고 테스트

- 사용자가 직접 테스트

- 6가지 종류

1. 사용자 인수 테스트

     - 시스템 사용의 적절성 여부 확인

 

2. 운영상의 인수 테스트

     - 시스템 관리자가 시스템 인수 시 수행

     - 백업/복원 시스템, 재난 복구, 사용자 관리, 정기 점검 등을 확인

 

3. 계약 인수 테스트

     - 계약상의 인수/검수 조건을 준수하는지 여부를 확인

 

4. 규정 인수 테스트

     - 소프트웨어가 정부 지침, 법규, 규정 등에 맞는지 확인

 

5. 알파 테스트

     - 사용자가 개발자 앞에서 행하는 테스트

     - 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인, 기록

 

6. 베타 테스트

     - 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트(필드 테스팅)

     - 실업무를 가지고 사용자가 직접 테스트

     - 개발자의 제어 없이 진행

     - 발견된 오류와 문제점을 기록하고 개발자에게 전달