CS/정보처리산업기사

애플리케이션 테스트 수행 - 애플리케이션 개발 단계에 따른 테스트

jjh0119 2025. 3. 21. 17:05

01. SDLC와 테스트 단계

  • 소프트웨어 생명 주기는 요구사항, 분석, 디자인, 구현 또는 개발 순으로 진행되며, 프로젝트의 특성과 방법론에 따라 반복적으로 수행하는 경우도 있다.
  • 테스트는 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 순으로 진행된다.

02. 단위 테스트

  • 컴포넌트 테스트라고도 한다.
  • 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
  • 소프트웨어 최소 기능 단위인 모듈, 컴포넌트를 테스트하는 것으로 사용자의 요구사항을 기반으로 한 기능 테스트를 제일 먼저 수행한다.
  • 개별 모듈을 시험하는 것으로 모듈이 정확하게 구현되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주요 목적인 테스트
  • 테스트 드라이버를 이용한다.

03. 통합 테스트

  • 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지를 확인하는 테스트
  • 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트한다.
  • 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
  • 업무간의 연계성과 상호 운영성 중심의 테스트 수행

1) 상향식 통합 테스트

  • 애플리케이션 구조에서 최하위 레벩의 모듈 또는 컴포넌트로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 구축과 테스트를 시작한다.
  • 하위층에 중요한 기능이나 모듈이 많은 경우에는 상향식 통합이 적당하다.

2) 하향식 통합 테스트

  • 메인 제어 모듈로부터 아래 방향으로 제어의 경로르 따라 이동하면서 하향식으로 통합하면서 테스트를 진행한다.
  • 메인 제어 모듈에 통합되는 하위 모듈과 최하위 모듈은 '깊이-우선' 또는 '너비-우선' 방식으로 통합된다.
  • 상위층의 모듈을 먼저 시험하므로 시스템의 계층 구조와 상위층의 중요한 인터페이스를 조기에 시험할 수 있다.
  • 하위 컴포넌트 개발이 완료되지 않은 경우 스텁을 사용하기도 한다.

04. 시스템 테스트

  • 컴퓨터 시스템을 완벽하게 검사히기 위한 목적 또는 성능 목표를 가지고 테스트한다.
  • 시스템 테스트는 개발 프로젝트 차원에서 정의된 전체 시스템의 동작과 관련돼있다.

05. 인수 테스트

1) 특징

  • 사용자측 관점에서 소프트웨어가 요구사항을 충족시키는지를 평가하는 단계
  • 최종 사용자가 요구한 기능이 제대로 반영되었는지, 인수 조건에 만족하는지를 테스트하는 기법

2) 종류

  • 사용자 인수 테스트
  • 운영상의 인수 테스트
  • 계약 인수 테스트
  • 규정 인수 테스트
  • 알파 테스트 : 개발하는 조직 내 잠재고객에 의해 테스트
  • 베타 테스트 : 실제 환경에서 고객에 의해 테스트

06. 테스트 장치

  • 테스트 드라이버 : 상향식 테스트에 필요, 테스트 대상 하위 모듈을 호출하고 파라미터를 전달하고 모듈 테스트 수행 후의 결과 도출
  • 테스트 스텁 : 하향식 테스트에 필요, 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구
  • 테스트 슈트
  • 테스트 케이스
  • 테스트 스크립트
  • 목 오브젝트