통합테스트: 인터페이스와 상태 흐름을 검증하는 품질 게이트
통합테스트의 범위와 Top-Down·Bottom-Up·샌드위치·빅뱅 전략, 인터페이스·트랜잭션 검증 방법을 정리한다.
2026-08-14 · 최초 발행 2025-12-14
모듈 사이에서만 드러나는 결함을 찾는 테스트
통합테스트는 개발된 소프트웨어의 전체 또는 일부를 연결한 뒤, 컴포넌트 사이의 상호작용과 사용자 인터페이스 기능을 확인하는 활동이다. 단위 테스트가 모듈 내부 로직에 집중한다면, 통합테스트는 인터페이스·데이터 흐름·상태 전파를 검증한다. 시스템 테스트는 그보다 넓게 엔드투엔드 요구사항 충족 여부를 다룬다.
이 단계에서는 기능뿐 아니라 성능, 보안, 신뢰성 같은 비기능 특성도 함께 본다. 엔드포인트 간 호출, 데이터 변환, 오류 전파 경로와 SLA·처리량·지연시간 요구사항을 검증 대상에 넣는다.
테스트의 기준점은 API 스펙과 ICD 같은 인터페이스 명세, 시퀀스 다이어그램, 통합 구조도, 트랜잭션·락 정책, 에러 모델이다. 계약 기반 설계와 스키마 버전 관리 역시 통합테스트와 연결된다.
통합 범위를 잡을 때 보는 위험 신호
모든 연결을 같은 깊이로 시험하기보다 복잡도, 변경 빈도, 외부 의존도를 기준으로 우선순위를 정한다. 결제나 인증처럼 핵심 경로부터 확인한 뒤 범위를 넓혀갈 수 있다.
외부 시스템이 준비되지 않았거나 제어하기 어려운 경우에는 서비스 가상화와 계약 테스트를 사용해 의존성을 줄인다. Top-Down 방식에서는 Stub, Bottom-Up 방식에서는 Driver가 이 역할을 맡는다.
데이터와 상태도 별도의 검증 대상이다. 경계 트랜잭션, 분산 락, 멱등성, 재시도 정책을 확인하고, 테스트 데이터 관리(TDG/마스킹), 데이터 시드, 정리 프로세스를 운영한다. 결함이 발견되면 재현 경로와 API 호출의 상관관계를 남기고, 변경 감지 기반 회귀 테스트 스위트로 다시 확인한다.
시스템 구조에 맞춰 고르는 통합 방식
상위 흐름부터 확인하는 Top-Down
상위 모듈을 먼저 연결하고, 아직 준비되지 않은 하위 모듈은 Stub으로 대체한다. 사용자 플로우 기준의 피드백을 일찍 얻기 좋고 주요 경로를 빠르게 드러낼 수 있다. 반면 Stub을 유지해야 하며, 실제 하위 계층의 성능이나 오류 처리와 차이가 생길 수 있다.
하위 계층을 먼저 안정화하는 Bottom-Up
하위 모듈부터 통합하고 상위 호출자는 Test Driver로 대신한다. 서비스와 데이터 계층의 안정화에 유리하며, 데이터 처리나 성능 관련 결함을 이른 시점에 찾고 원인을 격리하기 쉽다. 최종 사용자 플로우에 대한 피드백은 늦어진다.
핵심 도메인을 중심으로 병행하는 샌드위치
최소 단위의 핵심 기능을 기준으로 상위와 하위 통합을 함께 진행하는 방식이다. 리스크가 높은 도메인에 집중할 수 있고 일정을 병렬화하기 좋다. 그만큼 조율이 복잡해지며 Stub과 Driver를 모두 관리해야 한다.
전체를 한 번에 연결하는 빅뱅
모듈을 각각 구현한 뒤 전체를 한 번에 통합한다. 초기 단계에서 전체 연동 모습을 빠르게 확인할 수 있지만, 결함 원인을 추적하기 어렵고 리스크가 한 지점에 집중된다. 안정화도 늦어질 수 있다.
| 지표(핵심) | Top-Down | Bottom-Up | Sandwich | Big Bang |
|---|---|---|---|---|
| 초기 피드백 속도(성능) | 빠름 | 보통 | 빠름 | 매우 빠름 |
| 확장성(점진 통합 용이성) | 보통 | 높음 | 높음 | 낮음 |
| 일관성/결함 격리 | 보통 | 높음 | 높음 | 낮음 |
| 안정성(통합 안정화) | 보통 | 높음 | 보통 | 낮음 |
| 운영 편의(환경/더블 난이도) | Stub 필요 | Driver 필요 | Stub+Driver 필요 | 더블 거의 불필요 |
테스트 실행은 입력·판단·판정의 흐름으로 운영한다
테스트 시작점에는 인터페이스 명세와 계약, 통합 구조도, SLA와 보안 요구사항 같은 품질 기준, 테스트 데이터 정책이 있다. 이를 바탕으로 통합 전략을 선택하고, 서비스 가상화·시크릿 관리 등을 포함한 환경을 준비한다.
이후 시나리오와 케이스를 설계해 CI/CD와 연결하고, 실행 과정에서 로그·트레이스·메트릭을 함께 관찰한다. 결과물은 원인·영향·재현 정보를 담은 결함 리포트, 인터페이스·시나리오·오류 경로 기준의 커버리지, 평균·99퍼센타일 지연을 포함한 성능 지표, 그리고 합격·보류 판정과 개선안이다.
타임아웃, 재시도, 폴백, 서킷 브레이커, 스키마 불일치, 인증 실패는 각각의 조건 분기로 분리해 다룬다. 트랜잭션에서는 단일 경계를 확인하고, Outbox와 SAGA 보상 시나리오를 포함한 분산 트랜잭션, 교착과 낙관/비관 락 충돌을 시험한다. 멱등키와 재진입 가능성도 확인 대상이다.
이벤트 순서 보장, 중복 처리, 실패 후 재처리 역시 데이터 일관성 관점에서 검증한다. 특히 실패 이후 최종 일관성에 도달하는 시간을 관측해야 한다.
연결 지점이 복잡한 시스템에서의 검증
마이크로서비스 결제 도메인에서는 계약 테스트와 서비스 가상화로 외부 결제사 의존을 줄이고, SAGA 보상 흐름·멱등성·재시도 정책을 집중 검증한다.
모바일 앱과 백엔드, 푸시 서비스가 연결되는 구조에서는 Top-Down으로 UX 플로우를 먼저 확인할 수 있다. 하위 Driver로는 메시징 경로의 성능과 신뢰성을 측정하며, 네트워크 단절과 지연 조건도 시나리오에 포함한다.
ETL/CDC 데이터 파이프라인은 Bottom-Up으로 소스 커넥터와 변환을 검증한 뒤, 샌드위치 방식으로 주요 집계 영역을 통합할 수 있다. 스키마 진화, 지연 데이터, 정확성과 성능의 균형이 주요 검증 지점이다.
임베디드와 IoT 게이트웨이에서는 하드웨어 Stub와 시뮬레이터로 센서 입력을 가상화한다. 전원 또는 통신 장애에서 복구한 뒤 상태 일관성이 유지되는지도 확인한다.
운영 결함을 줄이는 릴리스 판단 근거
통합 단계에서 인터페이스와 상태 관련 결함을 미리 제거하면 운영 유입 결함 20~40% 감소를 기대할 수 있다. 이 범위는 조직 성숙도와 도메인에 따라 달라진다.
원인을 국소화하고 관찰성을 넓히면 MTTR은 1530% 단축될 수 있다. 99퍼센타일 지연과 타임아웃 이벤트를 줄이고 스루풋 변동 폭을 축소하는 효과도 기대할 수 있다. 자동화 회귀 스위트와 계약 테스트는 승인 주기를 1025% 단축하는 기반이 된다.
리스크가 높은 핵심 경로에서 시작해 점진적으로 범위를 넓히고, 선택한 통합 전략에 테스트 더블·서비스 가상화·관찰성·회귀 자동화를 결합하는 방식이 통합테스트를 릴리스 게이트로 기능하게 한다.