1. 정의
- 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법
- 종류 : 비점진적 통합 방식, 점진적 통합 방식
2. 비점진적 통합 방식
- 단계적으로 통합하는 절차 없이 결합된 프로그램 전체를 테스트하는 방법
- 규모가 작은 소프트웨어에 유리
- 단시간 내에 테스트가 가능
- 오류 발견 및 장애 위치 파악 및 수정이 어려움
3. 점진적 통합 방식
- 모듈 단위로 단계적으로 통합하면서 테스트하는 방법
- 오류 수정이 용이
- 인터페이스와 연관된 오류를 완전히 테스트할 가능성이 높음
- 종류 : 하향식 통합 방식, 상향식 통합 방식, 혼합 통합 방식
4. 하향식 통합 테스트(Top Down Integration Test)
- 프로그램의 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
- 아래 단계로 이동하면서 통합
- 깊이 우선 통합법이나 넓이 우선 통합법 사용
- 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음
- 상위 모듈에서는 테스트 케이스를 사용하기 어려움
- 모듈이 통합될 때마다 테스트하며 새로운 오류가 발생하지 않았음을 보증하기 위해 회귀 테스트를 실시함
- 스텁(Stub) : 상위 모듈은 있지만 하위 모듈이 없는 경우 하위 모듈을 대체하는 것 (임시 제공의 가짜 모듈 역할)
5. 상향식 통합 테스트(Bottom Up Integration Test)
- 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
- 클러스터(Cluste) : 종속 모듈의 그룹
- 드라이버(Driver) : 상위 모듈 없이 하위 모듈이 있는 경우 상위 모듈 대체 (하위 모듈과 상위 모듈 간의 인터페이스 역할)
- 하위 모듈들을 클러스터로 결합
- 통합된 클러스터 단위로 테스트함
- 테스트가 완료되면 클러스터는 상위로 이동하여 결합하고, 드라이버는 실제 모듈로 대체
6. 혼합식 통합 테스트
- 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용하여 최적의 테스트를 지원하는 방식
- 샌드위치(Sandwich)식 통합 테스트 방법이라고도 함
7. 회귀 테스팅(Regression Testing)
- 이미 테스트된 프로그램의 테스팅을 반복하는 것
- 새로운 오류가 있는지 확인하는 테스트
- 시간과 비용이 많이 필요하므로 변경된 부분을 테스트할 수 있는 테스트 케이스만을 선정하여 수행
- 선정 방법 : 대표적인 테스트 케이스 선정, 파습 효과가 높은 부분이 포함된 것으로 선정, 실제 수정이 발생한 위치에서 시행하는 것으로 선정