본문 바로가기
정보처리기사/소프트웨어 개발

통합 테스트

by jhwannabe 2023. 7. 12.

통합 테스트

단위 테스트(Unit Test)

  • 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트
  • 애플리케이션을 구성하는 하나의 기능이 올바르게 동작하는지를 독립적으로 테스트하는 것
  • 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트함
  • 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행
  • 소프트웨어 최초 기능 단위인 모듈, 컴포넌트를 테스트하는 것으로 사용자의 요구사항을 기반으로 한 기능 테스트를 제일 먼저 수행함
  • 인터페이스, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 결제 조건 등을 테스트

통합 테스트(Integration Test)

  • 각 모듈 간을 결합하여 시스템 완성시키는 과정에서 모듈 간 인터페이스 혹은 통합된 컴포넌트 간 상호작용 오류 및 결함을 찾아 해결하기 위한 테스트 기법
비점진적 통합 방식
(빅뱅 통합)
- 모든 모듈이 결합된 프로그램 전체를 대상으로 테스트함
- 규모 작은 소프트웨어에 적합
- 오류 발견 / 장애 위치 파악 또는 수정이 어려움
점진적 통합 방식
(상향식 / 하향식)
- 단계적으로 통합하며 테스트함
- 오류 수정이 쉬움
- 인터페이스 관련 오류를 테스트할 수 있음

 

통합 방식

하향식 통합

  • 상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를 검사
  • 주요 제어 모듈 기준으로 아래로 통합하며 진행함
  • 하위 컴포넌트 개발이 완료되지 않은 경우 스텁(Stub)을 사용하기도 함
  • 우선 통합법, 깊이 우선 통합법, 너비 우선 통합법 등
  • 하위 레벨 모듈들은 특정한 소프트웨어 부가 기능을 수행하는 클러스터들에 결합됨

상향식 통합

  • 프로그램 구조에서 최하위 레벨인 모듈을 구성하고 상위 모듈 방향으로 통합하며 검사함
  • 가장 하위 단계의 모듈부터 수행되므로 스텁이 필요 없으나 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요

빅뱅(BigBang) 통합

  • 시스템을 구성하는 모듈을 각각 따로 구현하고 전체 시스템을 한 번에 테스트 진행함
  • 테스트를 위한 Driver와 Stub 없이 실제 모듈들로 테스트를 진행함
  • 단시간 테스트를 수행하나 결함의 격리가 어려운 방식

샌드위치 통합

  • 상향식과 하향식의 장점을 이용하는 방식 (하향식 + 상향식)
  • 하위 프로젝트가 있는 대규모 프로젝트에 사용하는 방식
  • 병렬 테스트가 가능하고 시간 절약이 가능함
  • 스텁(Stub)과 드라이버(Driver)의 필요성이 매우 높은 방식이며, 비용이 많이 들어감

통합 테스트 수행 방법 비교

구분 상향식 하향식 빅뱅(BigBang)
드라이버 / 스텁 드라이버 스텁 실제 모듈로 테스트
수행 하위 → 상위 상위 → 하위 동시
장점 - 장애 위치 확인 용이
- 모든 모듈이 개발 준비되어 있지 않아도 됨
- 장애 위치 확인 용이
- 초기 프로토타입 가능
소규모 시스템에 단기간 테스트 가능
단점 - 초기 프로토타입 불가
- 중요한 모듈들이 마지막에 테스트 될 가능성이 있음
- 많은 스텁 필요
- 낮은 수준 모듈은 부적절한 테스트 가능성
- 장애 위치 확인 어려움
- 모든 모듈이 개발 준비되어 있어야 함

정형 기술 검토 지침 사항

  • 의제와 그 범위를 유지하고 참가자의 수를 제한하라
  • 각 체크 리스트를 작성하고, 자원과 시간 일정을 할당하라
  • 개발자가 아닌 제품의 검토에 집중하라
  • 논쟁과 반박을 제한하고 검토 과정과 결과를 재검토하라
728x90
반응형

'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글

애플리케이션 성능 개선  (0) 2023.07.13
결함 관리  (0) 2023.07.12
테스트 커버리지  (0) 2023.07.12
테스트 시나리오와 테스트 기법  (0) 2023.07.12
애플리케이션 테스트 관리  (0) 2023.07.12