개발

[정보처리산업기사 필기] 애플리케이션 테스트

노트북 산 김에 공부 2023. 9. 26. 10:08

테스트는 소프트웨어의 오류를 찾아내기 위해서 시스템을 실행하여 평가하는 작업입니다.

테스트 과정에 필요한 역활은 소프트웨어 아키텍트와 테스트 매니저입니다.

 

[그림 1-1]과 같이 두역활은 소프트웨어 생명 주기(Life Cycle)의 V 모델에서 각 좌측과 우측의 핵심 역활을 당담합니다.

 

1) 프로젝트 수행 단계에 따른 종류

테스트 설명
단위 테스트 작은 소프트웨어 단위(컴포넌트 또는 모듈)를 테스트하는 것으로서, 일반적으로 개발자에 의해 행해짐
통합 테스트 모듈 사이의 인터페이스, 통합된 모듈 간의 상호 작용을 테스트
시스템 테스트 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지 테스트
인수 테스트 최종 사용자와 관련 이해관계자가 테스트를 수행함으로써 개발된 제품에 대해 운영 여부를 결정

단위 테스트

구조적 테스트, 기능성 테스트, 리소스 관련 테스트, 강건성 테스트 등 특정 비기능성 테스트 등이 포함되어 수행되며,

컴포넌트 명세, 소프트웨어 상세설계, 데이터 모델 명세 등일 이용하여 테스트합니다.

테스트 기반에 따라 테스트 종류가 나뉩니다.

 

테스트 방법 테스트 내용 테스트 목적
구조 기반 프로그램 내부 구조 및 복잡도를 검증하는 화이트 박스 테스트 제어 흐름, 조건 결정
명세 기반 목적 및 실행 코드 기반의 실행을 통한 블랙 박스 테스트 동등 분할, 경계값 분석

통합 테스트

일반적으로 빅뱅 방식보다는 순차적 형태와 아키텍쳐에 대해 이해를 바탕으로 진행됩니다.

모듈의 결합 방향에 따라 테스트 종류가 나뉩니다.

 

테스트 설명
상향식 테스트 (Bottom-up Test) 개개의 모듈에서 테스트를 시작하고 최종적으로 프로그램 전체를 테스트
하향식 테스트 (Top-down Test) 상위 모듈에서 하위 모듈 방향으로 순차적으로 테스트
혼합 테스트 (Sandwitch Test) 프로그램의 상위와 하위 양쪽에서 통합해 가면서 테스트

시스템 테스트

개발 프로젝트 차원에서 정의된 전체 시스템의 동작과 관련되어 있습니다.

환경 제한적 장애 관련 리스크를 최소화하기 위하여 실제의 최종 사용자 환경과 유사하게

시스템 성능, 관련된 고객의 기능, 비기능적인 요구사항 등이 완벽하게 수행되는지를 테스트합니다

업무 기반적 요구사항과 시스템적인 비기능적 요구사항에 따라 테스트 종류가 나뉩니다.

 

기능적 요구사항 요구사항 명세서, 비즈니스 절차, 유스케이스 등 명세서 기반의 블랙박스 테스트
비기능적 요구사항 성능 테스트, 회복 테스트, 보안 테스트, 내부 시스템의 메뉴 구조, 웹 페이지의 네비게이션 등의 구조적 요소에 대한 화이트박스 테스트

인수 테스트

시스템의 일부 또는 특정한 비기능적인 특성에 대해 인수테스트를 통해 확인하며

6가지 종류로 구분해서 테스트 합니다.

 

테스트 종류 테스트 내용
사용자 인수 테스트 비즈니스 사용자가 시스템 사용의 적절성 여부를 확인
운영상의 인수 테스트 시스템 관리자가 시스템 인수 시 수행하는 테스트 활동으로
백업/복원 시스템, 재난 복구, 사용자 관리, 정기 점검 등을 확인
계약 인수 테스트 계약상의 인수/검수 조건을 준수하는지 여부를 확인
규정 인수 테스트 정부 지침, 법규, 규정 등 규정에 맞게 개발하였는지 확인
알파 테스트 개발하는 조직 내 잠재 고객에 의해 테스트 수행
베타 테스트 실제 환경에서 고객에 의해 테스트 수행

2) 테스트 목적에 따른 종류

테스트 설명
기능 테스트 주어진 입력에 대해 기대되는 결과가 출력되는지를 테스트
성능 테스트 처리량, 응답시간, 메모리 활용도, 처리 속도 등에 대한 테스트
강도 테스트 정보의 과부하시에 최저 조건 미달이나 물리적 충격 등에 대한 테스트
복잡도 테스트 논리 경로의 복잡도에 대한 테스트