자격증/정보처리필기

[정보처리산업기사] 29강 통합테스트

동호다찌 2022. 3. 31. 19:59
반응형

1. 통합 테스트

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

비점진적 통합 방식

  • 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트
  • 빅뱅 통합 테스트 방식
  • 소규모 소프트웨어에 유리, 단시간 내에 테스트 가능
  • 전체 프로그램 대상 -> 오류 발견 및 장애 위치 파악,수정 어려움

점진적 통합 방식

  • 모듈 단위로 단계적 통합하며 테스트.
  • 하향식, 상향식, 혼합식 통합 방식
  • 오류 수정 용이, 인터페이스와 연관된 오류를 완전히 테스트할 가능성 높다.

2. 하향식 통합 테스트

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

  • 주요 제어 모듈을 기준
  • 깊이 우선 통합법 or 넓이 우선 통합법
  • 테스트 초기부터 사용자에게 시스템 구조 보여줄 수 있음.
  • 상위 모듈에서는 테스트 케이스 사용 어려움
  • 절차
    1. 주요 제어 모듈은 작성된 프로그램을 사용. 주요 제어 모듈의 종속 모듈들은 스텁으로 대체
      • 테스트 스텁: 제어 모듈이 호출하는 타 모듈의 기능을 수행하는 도구. 일시적 필요 조건만 가지고있는 시험용 모듈
    2. 깊이 우선 or 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들: 한번에 하나씩 실제모듈로 교체
    3. 모듈이 통합될때마다 테스트 실시
    4. 새로운 오류 발생않음을 보장하기 위해 회귀 테스트 실시

3. 상향식 통합 테스트

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

  • 가장 하위 단계의 모듈부터 통합,테스트 수행 -> 스텁 필요 없음. 클러스터 필요함.
  • 절차
    1. 하위 모듈들을 클러스터로 결합
      • 클러스터: 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹
    2. 상위 모듈에서 데이터 입,출력 확인 위해 드라이버 작성
      • 드라이버: 테스트 대상의 하위모듈 호출. 파라미터 전달, 모듈 테스트 수행 후 결과 도출하는 도구
    3. 통합된 클러스터 단위로 테스트
    4. 테스트 완료시 클러스터는 프로그램 구조의 상위로 이동해 결합. 드라이버는 실제 모듈로 교체됨.
  • 테스트 드라이버와 스텁의 차이점

드라이버 & 스텁

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

4. 혼합식 통합 테스트

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

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

5. 회귀 테스팅

이미 테스트된 프로그램의 테스팅 반복하고 통합테스트로 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

  • 모든 테스트 테스트케이스 사용 못해.. 기존 테스트 케이스 중 변경된 부분을 테스트할 수 있는 테스트 케이스만 선정해 수행
  • 회귀 테스트의 테스트 케이스 선정 방법
    • 모든 애플리케이션 기능 수행가능한 대표적 테스트 케이스 선정
    • 파급 효과 높은 부분 포함된 테스트 케이스
    • 실제 수정이 발생한 모듈, 컴포넌트에서 시행하는 테스트 케이스 선정
반응형