본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Integration Test
단위 테스트 이후 단위 간 결합에 대한 소프트웨어 테스트 과정
Bottom-Up
  • 하위 모듈부터 개발한 경우
  • 상위 모듈이 없으므로, 상위 모듈 역할을 하는 테스트 드라이버(Driver)를 이용
  • 테스트 드라이버를 테스트 하네스(Harness)라고도 함

Top-Down
  • 상위 모듈부터 개발한 경우
  • 하위 모듈이 없으므로, 하위 모듈들 역할을 하는 스텁(Stub)을 이용

Backbone Integration
  • 샌드위치 테스트라고도 한다.[1]
  • 특정 테스트 대상 모듈을 중심으로 상하위 임시 모듈을 연결하여 테스트
  • 상향, 하향식 순차 개발이 아닌 중요 기능 중심의 빠른 개발 및 테스트 방식
빅뱅통합
  • 상하위 모듈이 모두 개발된 다음 한번에 테스트
  • 주로 드라이버, 스텁 없이 실제 개발된 모듈을 통합하여 테스트
  • 오류가 어느 모듈 사이에서 났는지 찾기 어렵다
Threads Integration
  • 사용자에게 보이는 하나의 기능(스레드)을 처리하는 데 필요한 모듈들을 골라 먼저 통합하고, 다른 기능을 차례로 더해 간다
  • 핵심 기능부터 동작하는 모습을 볼 수 있어 초기에 시스템의 골격을 파악하기 쉽다
  • 일부 기능만으로 사용자에게 일찍 보여 줄 수 있다

드라이버와 스텁

편집 원본 편집
구분 테스트 드라이버(Test Driver) 테스트 스텁(Test Stub)
쓰는 곳 상향식 통합 하향식 통합
대신하는 것 아직 없는 상위 모듈 아직 없는 하위 모듈
하는 일 시험 대상 모듈을 호출하고, 필요한 매개변수를 넘겨 실행한 뒤 결과를 보여 준다 시험 대상 모듈에게 호출당해 미리 정한 값을 돌려준다
형태 간이 메인 프로그램 기능을 흉내만 내는 간이 모듈

시험 대상 모듈이 호출하는 하위 모듈의 역할을 하는 것은 스텁이지 드라이버가 아니다.

  1. ↑ 완전 동일한 개념은 아니다. 목적성의 차이는 있지만, 구조적으로 유사하다. 샌드위치 통합은 상하향의 모듈이 모두 필요해 스텁과 드라이버를 함께 사용하는 형태이며, 백본 통합은 중요한 모듈을 기점으로 테스트하기 위해 중요 모듈 주변의 모듈과 스텁, 드라이버를 활용하는 것이다.