본문 바로가기
법, 용어/용어

통합 테스트

by 3604 2024. 5. 28.
728x90

1. 통합 테스트

단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류, 결함 찾는 테스트

(1) 비점진적 통합 방식

- 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트

- 빅뱅 통합 테스트 방식

- 소규모 소프트웨어에 유리, 단시간 내에 테스트 가능

- 전체 프로그램 대상-> 오류 발견 및 장애 위치 파악,수정 어려움

 

(2) 점진적 통합 방식

- 모듈 단위로 단계적 통합하며 테스트.

- 하향식, 상향식, 혼합식 통합 방식

- 오류 수정 용이, 인터페이스와 연관된 오류를 완전히 테스트할 가능성 높다.

 

2. 하향식 통합 테스트

프로그램의 상위 모듈->하위모듈로 통합하면서 테스트

- 주요 제어 모듈을 기준

- 깊이 우선 통합법 or 넓이 우선 통합법

- 테스트 초기부터 사용자에게 시스템 구조 보여줄 수 있음.

- 상위 모듈에서는 테스트 케이스 사용 어려움

- 절차

   (1) 주요 제어 모듈은 작성된 프로그램을 사용. 주요 제어 모듈의 종속 모듈들은 스텁으로 대체

      * 테스트 스텁: 제어 모듈이 호출하는 타 모듈의 기능을 수행하는 도구. 일시적 필요 조건만 가지고있는 시험용 모듈

   (2) 깊이 우선 or 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들: 한번에 하나씩 실제모듈로 교체

   (3) 모듈이 통합될때마다 테스트 실시

   (4) 새로운 오류 발생않음을 보장하기 위해 회귀 테스트 실시

 

3. 상향식 통합 테스트

프로그램의 하위 모듈->상위 모듈로 통합하면서 테스트

- 가장 하위 단계의 모듈부터 통합,테스트 수행-> 스텁 필요 없음. 클러스터 필요함.

  * 클러스터: 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹

- 절차

  (1) 하위 모듈들을 클러스터로 결합

  (2) 상위 모듈에서 데이터 입,출력 확인 위해 드라이버 작성

       * 드라이버: 테스트 대상의 하위모듈 호출. 파라미터 전달, 모듈 테스트 수행 후 결과 도출하는 도구

  (3) 통합된 클러스터 단위로 테스트

  (4) 테스트 완료시 클러스터는 프로그램 구조의 상위로 이동해 결합. 드라이버는 실제 모듈로 교체됨.

 

# 테스트 드라이버와 스텁의 차이점

구분 드라이버 스텁
필요 시기 상위 모듈 없이 하위 모듈이 있는 경우 하위 모듈 구동 상위 모듈은 있지만 하위 모듈이 없는 경우 하위 모듈 대체
테스트 방식 상향식 테스트 하향식 테스트
공통점 소프트웨어 개발과 테스트 병행시 이용함
차이점 -존재하는 하위 모듈과 없는 상위 모듈간의 인터페이스 
- 소프트웨어 개발 완료시 드라이버든 본래 모듈로 교체됨
- 일시적으로 필요한 조건만 가지고 임시로 제공되는 가짜 모듈의 역할을 함.
- 시험용 모듈임->드라이버보다 작성 쉬움

 

4. 혼합식 통합 테스트

하위수준: 상향식 통합. 상위 수준: 하위식 통합. 

샌드위치 통합 테스트라고 함.

 

5. 회귀 테스팅

이미 테스트된 프로그램의 테스팅 반복.

통합테스트로 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

- 모든 테스트 테스트케이스 사용 못해.. 기존 테스트 케이스 중 변경된 부분을 테스트할 수 있는 테스트 케이스만 선정해 수행

- 회귀 테스트의 테스트 케이스 선정 방법

  - 모든 애플리케이션 기능 수행가능한 대표적 테스트 케이스 선정 

  - 파급 효과 높은 부분 포함된 테스트 케이스

  - 실제 수정이 발생한 모듈, 컴포넌트에서 시행하는 테스트 케이스 선정

728x90

'법, 용어 > 용어' 카테고리의 다른 글

redo log 란  (0) 2024.06.08
WebRTC란?  (1) 2024.06.03
단위 테스트 , 통합 테스트, 시스템 테스트, 인수테스트 차이  (0) 2024.05.28
룩업 테이블, Lookup table  (0) 2024.05.23
공공데이터  (0) 2024.04.09