본문 바로가기
정보처리기사

10. 애플리케이션 테스트 관리 - Chap 2.애플리케이션 통합 테스트

by Elin J 2021. 7. 3.

Chapter 2.애플리케이션 통합 테스트

1. 애플리케이션 테스트 수행

< 단위 테스트>

1) 단위 테스트
  : 구현 단계에서 각 모듈을 구현한 후 개별모듈을 테스트하는 방식
 * 목(mock)객체 : 독립적인 컴포넌트 테스트(행위 검증)를 위해서 사용하는 스텁(상태 검증)의 객체지향 버전

   = 스텁+드라이버

 * 단위테스트 원칙 : 빠르게 수행 , 다른 컴포넌트에 의존x , 몇 번 실행해도 동일 결과, 사람 개입x


2) 통합 테스트
  : 소프트웨어 각 모듈 간의 인터페이스(컴포넌트간 혹은 타 시스템하고의)

             관련 오류 및 결함을 찾아내기 위한 체계적인 테스트
 

* 통합 테스트의 분류
  - 빅뱅 테스트 : 단 한번에 실행, 테스트 시간 절약 / 중요한 모듈의 결함을 나중 발견, 통합시간 오래 소요

  - 상향식 통합(botton-up) : 최하위 레벨부터 위쪽 방향으로 테스트

  - 하향식 통합(top-down) : 메인 제어 모듈의 아래방향으로 테스트

       *하스상드 --> 하향식은 스텁, 상향식은 드라이버 사용

       *깊이우선방식 : 수직! /  너비우선방식 : 수평!

  - 샌드위치 통합 : =혼합식 통합 = 상향식통합 + 하향식통합 , 대규모

- back bone 테스트 : 중요 모델부터 테스트

 

 

< 테스트 자동화 도구 >

  : 반복적인 테스트 작업을 스크립트 형태로 구현, 테스트 시간 단축 + 인력 투입비용 최소화

 

1) 테스트 자동화 도구 유형 --> 정실 성통
 * 정적 분석 도구★
     - 만들어진 애플리케이션을 실행하지 않고 분석하는 도구 -> 코드 리뷰시 많이 사용
     - 테스트 수행하는 사람이 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용하여 분석

 

 * 테스트 실행 도구

     - 특정 데이터와 테스트 수행방법을 포함하는 스크립트를 실행

     - 데이터 주도 접근 방식 / 키워드 주도 접근 방식

 

 * 성능 테스트 도구 : 성능 지표 따라(처,응,경,자) 성능 목표 달성여부 확인

 * 테스트 통제 : 테스트 관리도구 / 형상 관리 도구/ 결함 추척,관리 도구


2) 테스트 하네스★
      : 테스트하는 환경의 일부분으로, 테스트를 지원하기 위한 코드와 데이터, 개발자 작성
  * 테스트 하네스 구성요소 ---> 드스슈 케스목
      : 데이터 드라이버(하위모듈 호출-상향식 테스트) / 데이터 스텁(하향식 테스트)

      / 데이터 슈트(테스트 케이스 집합) / 데이터 케이스(입력값, 실행 조건, 기대 결과 등의 집합)

       / 데이터 스크립트(테스트 실행 절차의 명세) / 목(Mock) 오브젝트(스텁의 객체지향 버전)


2. 애플리케이션 테스트 결과분석

1) 소프트웨어 결함
  : 에러/오류  , 결함, 결점, 버그, 실패, 문제 등이 있음

2) 결함 관리 개념
  : 단계별 테스트 수행 후 발생한 결함의 재발 방지와 유사 결함 발견 시 처리 시간 단축을 위해
  결함을 추적하고 관리하는 활동

 

 * 결함 생명주기 : 결함 등록부터 종료까지 모든 과정을 포함한 절차

    등록 - 검토 - 할당 - 확인 - 종료 - 재등록 - 조치 보류

 

3) 결함 추이 분석 유형 ---> 분추에
  결함 분포 분석 / 결함 추세 분석(시간 흐름 따른 결함) / 결함 에이징 분석(지속 시간 측정)

 

4) 테스트 커버리지

   : 테스트 케이스에 의해 수행되는 범위를 측정하는 기준    

  -> 기 라 쿠

   기능 기반 커버리지 / 라인 커버리지 / 코드 커버리지 

 

* 결함 심각도별 분류 --> 치주보경단

   치명적 결함 / 주요 결함 / 보통 결함 / 경미한 결함 / 단순 결함

 


3. 애플리케이션 개선 조치사항 작성

1) 테스트 커버리지 개념
  : 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준

2) 테스트 커버리지 유형★ ---> 기라코
   기능 기반 커버리지/ 라인 커버리지 / 코드 커버리지