• [2020 정보처리기사 실기] Section 07. 애플리케이션 테스트 관리(2/4)

    2020. 4. 26. 15:57

    by. 위지원

    이전글

    2020/04/22 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 07. 애플리케이션 테스트 관리(1/4)

     

    개발단계에 따른 애플리케이션 테스트

     

    1. V 모델

    소프트웨어 생명 주기의 V모델

    2. 단위 테스트

    소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트

    • 인터페이스, 외부적I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등 검사
    • 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선
    • 주로 구조기반 테스트를 시행
    테스트 방법 테스트 내용 테스트 목적
    구조 기반 테스트 화이트박스 테스트 시행 제어 흐름, 조건 결정
    명세 기반 테스트 블랙박스 테스트 시행 동등 분할, 경계 값 분석

    3. 통합 테스트

    • 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성 시키는 과정의 테스트
    • 모듈간 또는 통합된 컴포넌트 간의 상호작용 오류를 검사

    4. 시스템 테스트

    환경적인 장애 리스크(테스트 시 사용할 물리적, 논리적 테스트 환경과 실제 소프트웨어 환경이 달라서 발생할 수 있는 장애)를 최소화 하기 위해 실제 환경과 비슷하게 해야함

    테스트 방법 테스트 내용
    기능적 요구사항 요구사항 명세서, 비즈니스 절차, 유스케이스등 명세서 기반의 블랙박스 테스트 시행
    비기능적 요구사항 성능,회복,보안테스트, 내부 시스템의 메뉴 구조, 웹페이지의 네비게이션등 구조적 요소에 대한 화이트박스 테스트 시행

    5. 인수 테스트

    개발한 소프트웨어를 사용자가 직접 테스트

    테스트 종류

    설명

    사용자 인수 테스트 사용자가 시스템 사용의 적절성 여부 확인
    운영상 인수 테스트 시스템 관리자가 시스템 인수 시 수행하는 테스트, 백업/복원 시스템, 재난 복구등을 확인
    계약 인수 테스트 계약상의 인수/검수 조건을 준수하는지 여부 확인
    규정 인수 테스트 소프트웨어가 정부 지침, 법규, 규정등 규정에 맞게 개발되었는지 확인
    알파 테스트

    - 개발자의 장소에서 사용자가 개발자 앞에서 행함

    - 통제 된 환경에서 테스트, 사용자와 개발자가 오류를 함께 확인하며 기록

    베타 테스트

    - 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트

    - 통제되지 않은 상황에서 테스트가 행해짐, 오류를 개발자에게 주기적으로 보고

     

    통합 테스트

    1. 통합 테스트

    비점진적 통합 방식

    - 모듈이 미리 결합되어 있는 프로그램 전체 테스트, 빅뱅 통합 테스트방식이 있음

        - 빅뱅 통합 테스트: 모듈간 상호 인터페이스 비고려 통합테스트, 주로 소규모 프로그램이나 프로그램 일부만을 대상으로 테스트

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

    점진적 통합 방식

    - 모듈단위로 단계적으로 통합, 하향,상향,혼합식 통합방식

    - 오류 수정 용이하며 인터페이스와 관련된 오류를 완전히 테스트할 가능성이 높음

    2. 점진적 통합 방식

    (1) 하향식 통합 테스트

    상위 모듈 -> 하위 모듈 로 통합하며 테스트

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

    (2) 회귀 테스트

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

    • 시간과 비용을 절약하기 위해 변경된 부분을 테스트 할 수 있는 테스트 케이스만을 선정하여 수행
    • 테스트 케이스 선정 방법
      • 모든 애플리케이션 기능을 수행할 수 있는
      • 애플리케이션 기능 변경에 의한 파급효과가 높은 부분이 포함된
      • 실제 수정이 발생한 모듈/컴포넌트에서 시행하는 테스트 케이스 

    (3) 상향식 통합 세스트

    하위 모듈 -> 상위모듈 로 통합하며 테스트

    • 하나의 주요 모듈과 관련된 종속 모듈의 그룹인 Cluster가 필요
    • 절차
      1. 하위 모듈들을 Cluster로 결합
      2. 상위 모듈에서 데이터의 입/출력을 확인하기 위해 더미 모듈인 Driver작성
      3. 통합된 클러스터 단위로 테스트
      4. 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고 드라이버는 실제 모듈로 대체

    (4) 혼합식 통합 테스트

    하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용, 샌드위치 통합 테스트 방법이라고도 함

     

    다음글

    2020/04/26 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 07. 애플리케이션 테스트 관리(3/4)

     

    대화의 장 💬