본문 바로가기

백엔드 개발자 기록 일람/정보처리기사 준비 기록

통합 테스트

▼통합테스트

★단위 테스트

하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트   이다. 애플리케이션을 구성하는 하나의 기능이 올바르게 동작하는지를 독립적으로 테스트하는 것이다. 구현 단계에서 각 모듈의 개발을 완료한  후 개발자가 명세서와 내용대로 정확히 구현되었는 지 테스트한다. 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를  주로시행한다. 소프트웨어 최소 기능 단위인  모듈, 컴포넌트를 태스트하는 것으로 사용자의 요구사항을 기반으로 한 기능 테스트를   제일 먼저 수행한다.인터페이스, 자료구조, 독립적 기초 경로, 오류 처리 경로, 결제 조건 등을 테스트한다.

 

★ 통합 테스트

각 모듈 간을  결합하여 시스템 완성시키는 과정에서  모듈 간의 인터페이스 혹은  통합된   컴포넌트 간 상호 작용 오류 및 결함을 찾아 해결하기 위한 테스트 기법이다.

 

비점진적 통합 방식: 모든 모듈이 결합된 프로그램 전체를 대상으로 테스트한다. 규모 작은 소프트웨어에 적합하다. 오류 발견/장애 위치 파악 또는 수정이 어렵다.

 

점진적 통합 방식

단계적으로  통합하며 테스트 한ㅏ. 오류 수정이 쉬우며, 인터페이스  관련 오류를 테스트 할 수 있다.

 

▼통합 방식

★하향식 통합

상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를   검사한다. 주요 제어 모듈 기준으로 아래로 통합하여 진행하며, 하위 컴포넌트 개발이  완료되지 않은 경우 스텁을 사용하기도 한다. 우선 통합법, 깊이   우선 통합법, 너비 우선  통합법 등이  있으며, 하위 레벨 모듈들은 특정한  소프트웨어 부가 기능을 수행하는 클러스터들에  결합된다.

 

★상향식 통합

프로그램 구조에서  최하위 레벨인 모듈을 구성하고 상위 모듈 방향으로 통합하며 검사한다. 가장  하위 단계의 모듈부터 수행되므로 스텁이 필요없으나 하나의 주요 제어 모듈과 관련된 종속모듈의 그룹인 클러스터가 필요하다.

 

★빅뱅 통합

시스템을 구성하는  모듈을 각각 따로  구형하고 정체 시스템을  한 번에 테스트 진행한다. 테스트를 위한 드라이버와 스텁없이 실제 모듈들로 테스트를 진행하며, 단기간 테스트를 수행하나 결함의 격리가 어려운 방시이다.

 

★샌드위치 통합

상향식과 하향식의 장점을 이용하는 방식이다. 하위 프로젝트가 있는 대규모 프로젝트에서 사용하는 방식으로 병렬 테스트가 가능하고 시간절약이 가능하다. 스텁과 드라이버의 필요성이  매우 높은 방식이기에 비용이 많이  들어간다.

 

★통합  테스트 수행  방법 비교

구분 상향식 하향식 빅뱅
드라이버/스텁 드라이버 스텁 실제모듈로 테스트
수행 하위 -> 상위 상위 -> 하위 동시
장점 장애 위치 확인 용이. 모든 모듈이 개발 준비되어 있지 않아도 됨 장애 위치 확인 용이
초기 프로토 타입 가능
소규모 시스템에 단기간 테스트 가능
단점 초기 프로토타입 불가. 
중요한 모듈들이 마지막에 테스트 될 가능성이 있음
많은 스텁 필요.
낮은 수준 모듈은 부적절한  테스트 가능성
장애 위치 확인  어려움
모든 모듈이 개발 준비되어 있어야함.

 

★정형 기술 검토 지침 사항

의제와  그 범위를 유지하고 참가자의 수를  제한.

각 체크리스트를 작성하고, 자원과 시간일정을 할당.

개발자가 아닌 제품의 검토에 집중.

논쟁과 반박을 제한하고 검토 과정과   결과를 재검토.