테스트의 분류

  1. 단위 테스트
    · 작은 소프트웨어 단위(컴포넌트 또는 모듈)를 테스트하는 것으로, 일반적으로 개발자 자신에 의해 진행된다.
    · 과거에는 시간 부족을 이유로 단위 테스트가 생략되었으나 최근에는 개발 도구의 발전으로 개발 과정 중에 자동으로 진행된다.
    · 단위 테스트는 아주 중요한 부분 이므로 개발 도구에서 지원하지 않아도 반드시 수행해야 한다.
    · 구조적 테스트, 기능성 테스트, 리소스 관련 테스트, 강건성 테스트 등 특정 비기능성 테스트 등이 포함되어 수행된다.
    · 컴포넌트 명세, 소프트웨어 상세 설계, 데이터 모델 명세 등을 이용하여 테스트 한다.
    · 방법
    구조 기반 : 업무 단위별 제어 흐름과 조건 결정에 따른 결과를 테스트하는 데 목적이 있으며 프로그램 내부 구조 및 복잡도를 검증하는 화이트박스 테스트가 속한다
    명세 기반 : 동등 분할과 경계값 분석을 위하여 사용자의 입력, 출력, 내부 이벤트 등을 확인하는데 목적이 있으며 목적 및 실행 코드 기반의 실행을 통한 블랙박스 테스트가 속한다.

    화이트박스 테스트 : 개발자 관점 구조와 동작 기반의 테스트이며 종류에는 기초 경로 테스트, 제어 흐름 테스트, 조건 테스트, 루프 테스트, 데이터 흐름 테스트, 분기 테스트가 있다.
    블랙박스 테스트 : 사용자 관점, 명세 기반의 테스트이며 종류에는 균등 분할, 한계값 테스트, 원인 효과 그래프 테스트, 비교 테스트가 있다.
  2. 통합 테스트
    · 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 테스트한다.
    · 하나의 프로세스가 완성된 경우 부분적으로 통합 테스트를 수행하는 경우도 있다.
    · 일반적으로 빅뱅 방식보다는 순차적 형태와 아키텍처에 대한 이해를 바탕으로 진행된다.
    · 빅뱅, 상향식, 하향식, 샌드위치, Central, Collaboration, 레이어 통합 등의 테스트가 있다.

    빅뱅 테스트 : 모든 모듈을 동시 통합 후 수행하며 단시간 테스트가 가능하고 작은 시스템에 유리하지만 장애 위치 파악이 어렵고 모든 모듈을 개발해야한다.
    상향식 테스트 : 최하의 모듈부터 점진적으로 상위 모듈과 함께 수행하며 드라이버가 필요하다. 장애 위치 파악이 쉬우며 모듈 개발에 시간낭비가 없다. 하지만 이른 프로토타입이 어렵고 중요 모듈이 마지막으로 테스트 될 가능성이 높다.
    하향식 테스트 : 최상위 모듈부터 하위 모듈들을 통합하며 수행하고 스텁이 필요하다. 장애 위치파악이 쉽고 이른 프로토타입이 가능하며 중요 모듈의 선 테스트 가능, 결함을 초기에 발견할수 있지만, 많은 스텁이 필요하고 하위 모듈들의 불충분한 테스트 수행이 단점이다.

    드라이버 : 상향식 테스트 방식의 존재하지 않는 모듈 간의 인터페이스 역할
    스텁 : 하향식 테스트 방식의 작성이 쉬운 시험용 모듈
  3. 시스템 테스트
    · 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 테스트하는 것으로, 성능 및 장애테스트가 여기에 포함된다.
    · 시스템 테스트는 개발 프로젝트 차원에서 정의된 전체 시스템의 동작과 관련된다.
    · 환경 제한적 장애 관련 리스크를 최소화하기 위하여 실제의 최종 사용자 환경과 유사하게 시스템 성능, 관련된 고객의 기능/비기능적인 요구사항 등이 완벽하게 수행되는지를 테스트한다.
    · 요구사항 명세서, 비즈니스 절차, 유스케이스. 리스크 분석 결과 등을 이용한다.
  4. 인수 테스트
    · 일반적으로 최종 사용자와 업무에 따른 이해관계자 등이 테스트를 수행함으로써 개발된 제품에 대해 운영 여부를 결정하는 테스트로, 실제 업무 적용 전에 수행한다.
    · 시스템의 일부 또는 특정한 비기능적인 특성을 확인한다.
    방법
    사용자 인수 테스트 : 비즈니스 사용자가 시스템 사용의 적절성 여부 확인
    운영상의 인수 테스트 : 시스템 관리자가 시스템 인수 시 수행하는 테스트 활동으로 백업/복원 시스템, 재난 복구, 사용자 관리, 정기 점검 등을 확인
    계약 인수 테스트 : 계약상의 인수/검수 조건을 준수하는지 확인
    규정 인수 테스트 : 정부 지침, 법규, 규정에 맞게 개발하였는지 확인
    알파 테스트 : 개발하는 조직 내 잠재 고객에 의해 테스트 수행
    베타 테스트 : 실제 환경에서 고객에 의해 테스트 수행

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다