UTF-404

통합 테스트에 대해 알아보기!! 본문

정보처리기사

통합 테스트에 대해 알아보기!!

UTF-404 2024. 2. 29. 18:25
728x90

💡 통합 테스트(Integration Test) 개념

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

💡 통합 테스트 수행 방법의 분류

📍 하향식 통합 테스트(Top Down Integration Test)

  • 하향식 통합 테스트는 메인 제어 모듈(프로그램)로부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향식으로 통합하는 테스트이다.
  • 메인 제어 모듈에 통합되는 하위 모듈과 최하위 모듈은 '깊이-우선' 또는 '너비-우선' 방식으로 통합된다.

📎 하향식 통합 테스트 수행 단계

단계 설명
1단계 메인 제어 모듈은 작성된 프로그램을 사용하고, 아직 작성되지 않은 하위 모듈을 제어함
2단계 위에서 아래로 내려오기 때문에 검사 초기에 시스템의 구조가 파악되어야 함
3단계 모듈 및 모든 하위 컴포넌트를 대신하여 더미 모듈인 스텁 개발
4단계 깊이-우선 방식 또는 너비-우선 방식에 따라, 하위 모듈인 스텁이 한 번에 하나씩 실제 모듈로 대체
5단계 각 모듈 또는 컴포넌트를 통합하면서 테스트 수행
6단계 테스트가 완료되면 스텁이 실제 모듈 또는 컴포넌트로 작성

📌 스텁(Test Stub)

  • 하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈이다.
  • 모든 하위 모듈 및 컴포넌트를 대신하는 더미 모듈로 상위 모듈에 의해 호출되는 하위 모듈의 역할을 한다.

하향식 방식의 통합 테스트

📍 상향식 통합 테스트(Bottom Up Integration Test) 개념

  • 상향식 통합 테스트는 애플리케이션 구조에서 최하위 레벨의 모듈 또는 컴포넌트로부터 점진적으로 상위 모듈과 함께 테스트하는 기법이다.

📎 상향식 통합 테스트 수행 단계

단계 설명
1단계 하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합
2단계 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 드라이버 작성
3단계 각 통합된 클러스터 단위 테스트
4단계 테스트가 완료되면 각 클러스터들은 프로그램의 위쪽으로 결합되며, 드라이버는 실제 모듈 또는 컴포넌트로 대체

📌 드라이버(Driver)

  • 상향식 통합시험을 위해 테스트의 대상이 되는 하위 모듈을 호출하는 상위의 모듈로 필요에 따라 파라미터를 전달하는 가상의 모듈이다.
  • 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 모듈이다.

상향식 방식의 통합 테스트

 

💡 통합 테스트 수행 방법 간 비교

테스트 방안 빅뱅 상향식 하향식
테스트 수행
방법
∙ 모든 모듈을 동시에 통합한 후 테스트 수행 ∙ 최하위 모듈부터 점진적으로 상위 모듈과 함께 테스트 ∙ 최상위 모듈부터 하위 모듈들을 통합하면서 테스트
드라이버/
스텁
∙ 드라이버/스텁 없이 실제 모듈로 테스트 ∙ 테스트 드라이버 필요 ∙ 테스트 스텁 필요
장점 ∙ 단시간 테스트 가능
∙ 작은 시스템에 유리
∙ 장애 위치 파악 쉬움
∙ 모든 모듈 개발 시간 낭비 필요 없음
∙ 장애 위치 파악 쉬움
∙ 이른 프로토타입 가능
∙ 중요 모듈의 선 테스트 가능
단점 ∙ 장애 위치 파악이 어려움
∙ 모든 모듈이 개발되어야 가능
∙ 중요 모듈들이 마지막 테스트 가능성 높음
∙ 이른 프로토타입 어려움
∙ 많은 스텁이 필요
∙ 하위 모듈들의 불충만한 테스트 수행
  • 상향식 통합 테스트와 하향식 통합 테스트 방식을 결합한 샌드위치 통합 테스트 방식도 있다.
  • 샌드위치 통합 테스트는 하위 프로젝트가 있는 큰 규모의 통합 테스트에서 사용하는 방식이고, 병렬 테스트와 시간 절약이 가능하다.
728x90