통합 테스트

hannni·2023년 3월 26일
0
  • 단위 테스트
    소프트웨어 최소 기능 단위인 모듈, 컴포넌트를 테스트하는 것으로 사용자의 요구사항을 기반으로 한 기능 테스트를 제일 먼저 수행한다

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

    • 비점진적 통합 방식(빅뱅)
      모든 모듈이 결함된 프로그램 전체가 대상이다
      규모가 작은 소프트웨어에 적합하다
      오류를 발견하거나 장애 위치를 파악하고 수정하는 것이 어렵다
    • 점진적 통합 방식(상향식/하향식)
      단계적으로 통합하며 테스트한다
  • 통합 테스트 수행 방법

    • 빅뱅(BigBang)
      시스템을 구성하는 모듈을 각각 따로 구현하고 전체 시스템의 시험을 한 번에 진행한다
      테스트를 위한 Driver와 Stub없이 실제 모듈들로 테스트를 진행한다

    • 상향식 통합 검사
      가장 하부의 모듈부터 통합해 가면서 진행
      하위 → 상위
      시험 사례 입력과 출력을 조정하기 위해 드라이브(Driver)가 작성된다

    • 하향식 통합 검사
      가장 상부의 모듈부터 통합해 가면서 진행
      상위 → 하위
      하위 컴포넌트 개발이 완료되지 않으면 스텁(Stub)을 사용하기도 한다

    • 백본(Backbone)
      가장 중요하고 위험이 큰 모듈을 초기 통합
      위험도(중요도) 순
      드라이버/스텁을 필요에 따라 만들어 사용

  • 샌드위치 테스트(Sandwich Test)
    상향식과 하향식의 장점을 이용하는 방식(상향식+하향식)이다
    하위 프로젝트가 있는 대규모 프로젝트에 사용하는 방식이다
    병렬 테스트가 가능하고 시간 절약이 가능하낟
    스텁과 드라이버의 필요성이 매우 높은 방식이며, 비용이 많이 들어간다

  • 회귀 시험
    새로운 코드 변경사항이 기존 기능에 부작용이 없어야 함을 확인하기 위해 수행된다
    수정한 부분이 소프트웨어의 다른 부분에 영향을 미치는지 테스트하여 소프트웨어수정이 새로운 오류를 발생시키지 않았는지 확인하기 위한 것이다
    Rest All 기법, Selective 기법, Priority 기법

0개의 댓글