/ EXITEM, 정처기

통합테스트

통합테스트

소프트웨어 개발에서 통합 테스트(Interation Testing)는 시스템의 다양한 컴포넌트들이 잘 연동되어 작동하는지를 검증하는 과정입니다.
개발된 각각의 모듈이나 컴포넌트들이 개별적으로 테스트된 후에, 이들을 통합하여 전체 시스템이 올바르게 작동하는지를 확인하기 위해 수행됩니다.

통합 테스트는 전체 시스템이나 서브시스템을 검증하는 단계적인 방법으로 수행됩니다.

통합 테스트는 시스템 전체에 대한 테스트이므로, 테스트 전략과 테스트 케이스를 통해 전체적인 테스트 범위를 파악하고, 이를 수행할 테스트 환경과 데이터를 구성하는 것이 중요합니다.
또한 통합 테스트를 통해 발견된 결함들은 수정하여 다시 반복적인 통합 테스트를 수행해야 합니다.

테스트 단계

모듈 테스트(Unit Testing)

개별 모듈의 동작을 검증합니다. 이는 모듈 수준에서의 테스트로, 단위 테스트(Unit Testing)라고도 합니다.

모듈 간 통합 테스트(Integration Testing between modules)

개별 모듈들을 결합하여, 각 모듈이 올바르게 상호작용하는지를 검증합니다.

서브시스템 통합 테스트(Integration Testing between subsystems)

연관된 모듈들을 결합하여 서브시스템이 정상적으로 동작하는지를 검증합니다.

전체 시스템 통합 테스트(System Integration Testing)

모든 서브시스템을 결합하여, 전체 시스템이 올바르게 동작하는지 검증합니다.

접근 방법

하향식 통합 테스트(Downward Integration Testing)

  • 모듈을 개발하고 테스트한 후에 그 모듈을 이용해 상위 수준의 모듈로 통합하는 방식입니다.
  • 이 방식은 개발 초기에 하위 모듈을 먼저 개발하고 테스트하여 상위 모듈의 개발을 연기할 수 있기 때문에 개발 효율성이 높을 수 있습니다.
  • 상위 모듈을 테스트할 때 하위 모듈에서 발생한 결함이 영향을 미칠 수 있으며, 하위 모듈의 테스트를 완료하지 못하면 상위 모듈의 테스트를 시작할 수 없기 때문에 모듈 간의 의존성이 높아질 수 있습니다.

상향식 통합 테스트(Upward Integration Testing)

  • 상위 모듈을 개발하고 테스트한 후에 그 모듈을 이용해 하위 수준의 모듈로 통합하는 방식입니다.
  • 이 방식은 개발 초기에 상위 모듈을 먼저 개발하고 테스트할 수 있어 하위 모듈의 개발을 기다리지 않아도 되기 때문에 개발 속도가 빠를 수 있습니다.
  • 하지만 상위 모듈에서 발생한 결함이 하위 모듈에도 영향을 미칠 수 있으며, 하위 모듈을 테스트하지 않은 상태에서 상위 모듈의 테스트를 수행하기 때문에 하위 모듈에서 발생한 결함이 더 늦게 발견될 수 있습니다.