통합 테스트
단위 테스트(Unit Test)
- 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트
- 애플리케이션을 구성하는 하나의 기능이 올바르게 동작하는지를 독립적으로 테스트하는 것
- 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트함
- 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행
- 소프트웨어 최초 기능 단위인 모듈, 컴포넌트를 테스트하는 것으로 사용자의 요구사항을 기반으로 한 기능 테스트를 제일 먼저 수행함
- 인터페이스, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 결제 조건 등을 테스트
통합 테스트(Integration Test)
- 각 모듈 간을 결합하여 시스템 완성시키는 과정에서 모듈 간 인터페이스 혹은 통합된 컴포넌트 간 상호작용 오류 및 결함을 찾아 해결하기 위한 테스트 기법
비점진적 통합 방식 (빅뱅 통합) |
- 모든 모듈이 결합된 프로그램 전체를 대상으로 테스트함 - 규모 작은 소프트웨어에 적합 - 오류 발견 / 장애 위치 파악 또는 수정이 어려움 |
점진적 통합 방식 (상향식 / 하향식) |
- 단계적으로 통합하며 테스트함 - 오류 수정이 쉬움 - 인터페이스 관련 오류를 테스트할 수 있음 |
통합 방식
하향식 통합
- 상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를 검사
- 주요 제어 모듈 기준으로 아래로 통합하며 진행함
- 하위 컴포넌트 개발이 완료되지 않은 경우 스텁(Stub)을 사용하기도 함
- 우선 통합법, 깊이 우선 통합법, 너비 우선 통합법 등
- 하위 레벨 모듈들은 특정한 소프트웨어 부가 기능을 수행하는 클러스터들에 결합됨
상향식 통합
- 프로그램 구조에서 최하위 레벨인 모듈을 구성하고 상위 모듈 방향으로 통합하며 검사함
- 가장 하위 단계의 모듈부터 수행되므로 스텁이 필요 없으나 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요
빅뱅(BigBang) 통합
- 시스템을 구성하는 모듈을 각각 따로 구현하고 전체 시스템을 한 번에 테스트 진행함
- 테스트를 위한 Driver와 Stub 없이 실제 모듈들로 테스트를 진행함
- 단시간 테스트를 수행하나 결함의 격리가 어려운 방식
샌드위치 통합
- 상향식과 하향식의 장점을 이용하는 방식 (하향식 + 상향식)
- 하위 프로젝트가 있는 대규모 프로젝트에 사용하는 방식
- 병렬 테스트가 가능하고 시간 절약이 가능함
- 스텁(Stub)과 드라이버(Driver)의 필요성이 매우 높은 방식이며, 비용이 많이 들어감
통합 테스트 수행 방법 비교
구분 | 상향식 | 하향식 | 빅뱅(BigBang) |
드라이버 / 스텁 | 드라이버 | 스텁 | 실제 모듈로 테스트 |
수행 | 하위 → 상위 | 상위 → 하위 | 동시 |
장점 | - 장애 위치 확인 용이 - 모든 모듈이 개발 준비되어 있지 않아도 됨 |
- 장애 위치 확인 용이 - 초기 프로토타입 가능 |
소규모 시스템에 단기간 테스트 가능 |
단점 | - 초기 프로토타입 불가 - 중요한 모듈들이 마지막에 테스트 될 가능성이 있음 |
- 많은 스텁 필요 - 낮은 수준 모듈은 부적절한 테스트 가능성 |
- 장애 위치 확인 어려움 - 모든 모듈이 개발 준비되어 있어야 함 |
정형 기술 검토 지침 사항
- 의제와 그 범위를 유지하고 참가자의 수를 제한하라
- 각 체크 리스트를 작성하고, 자원과 시간 일정을 할당하라
- 개발자가 아닌 제품의 검토에 집중하라
- 논쟁과 반박을 제한하고 검토 과정과 결과를 재검토하라
728x90
반응형
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
애플리케이션 성능 개선 (0) | 2023.07.13 |
---|---|
결함 관리 (0) | 2023.07.12 |
테스트 커버리지 (0) | 2023.07.12 |
테스트 시나리오와 테스트 기법 (0) | 2023.07.12 |
애플리케이션 테스트 관리 (0) | 2023.07.12 |