CSTS_FL-7 테스트 계획 (7문제)

violet·2024년 8월 12일

CSTS_FL

목록 보기
7/11

20. 테스트 계획 개요


20-1. 테스트 계획 개요

  • 테스트 계획

    • 테스트 관리 프로세스의 시작 활동으로
      동적 테스트를 효과적이고 효율적으로 수행하기 위한 계획 수립

    • 테스트 계획동적 테스트 프로세스 수행에 대한 구체적인 계획 포함

      • 테스트 설계 및 구현 활동은 테스트 계획서에 정의된 요건 등을 바탕으로 수행
      • 재테스팅 및 리그레션 테스팅, 테스트 중단 및 재시작 조건 등은 테스트 실행 활동에서 반영
    • 테스트 모니터링 및 제어에서는 테스트 메트릭을 활용하여 동적 테스트 프로세스의 수행 현황을 파악
      그 후 테스트 완료 기준을 바탕으로 수행된 테스트의 완료 여부를 평가하고 이를 테스트 종료 활동에서 보고서를 기록

  • 테스트 계획 구성 항목
    • 테스트 컨텍스트 명세
      구체적인 테스트 전략을 수립하기에 앞서서
      테스트 수행의 배경이 되는 다양한 요소들을 식별하고 명세

      • 테스트 컨텍스트 항목



21. 테스트 컨텍스트 명세


21-1. 테스트 계획 유형


테스트 계획서가 목표로 하는 유형을 명시

  • 테스트 계획서



21-2. 테스트 대상

  • 테스트하고자 하는 대상을 식별하고 명확하게 기술

  • 대상의 유형을 기준으로 테스트 레벨이 결정.

  • 테스트 레벨별 테스트 대상



21-3. 테스트 범위

  • 기능 및 비기능 등 테스트하고자 하는 피처 나열

    • 개별적인 기능 및 품질 특성을
      나열해 나가며 테스트 범위 정의
      .
  • 테스트 범위에 포함된 기능 및 품질 특성에 초점을 두고
    테스트 케이스 및 테스트 절차가 개발되고 테스트 환경을 구축함

  • 컴포넌트 , 통합 테스트에서는 기능에 초점

  • 제외할 피처도 사유와 함께 명시적으로 나열
  • 테스트 레벨별 테스트 범위



21-4. 테스트 가정 및 제약사항

  • 테스트 할때 반드시 준수해야 하는 표준

    • 조직 테스트 정책 및 조직 테스트 전략

    • 고객과의 계약

    • 테스트 일정

      • 테스트 가용 인원을 먼저 확인한 후 테스트 업무량을 산정한다 (X)
    • 비용

    • 투입 인력

      • 조직 내부에 테스터가 없다면 외부에서 전문가를 찾는다 (O)
    • 자동화 도구

      • 캡처/재생 도구
      • 메모리 테스트 도구
      • 성능 테스트 도구
    • 테스트 환경



21-5. 테스트 이해관계자

  • 테스트 프로젝트의 결과에 영향을 받는 이해관계자들 파악하고 의사소통 방법을 결정

    • 테스트에 요구사항을 제시하거나 테스트 결과에 관심을 가지는 이해관계자가 포함
      • 개발팀, 마케팅팀, 운영 지원팀 등
  • 이해관계자가 테스트 프로젝트에 어떤 요구가 있는지 식별

    • 보고서 등의 산출물은 이해관계자의 의사소통에서 중요한 역할
  • 테스트 프로세스의 성과를 테스트 종료 보고서에 기록하여 이해관계자와 공유



22 테스트 전략 수립


22-1. 테스트 설계 기법


테스트 컨텍스트에서 명시된 테스트 대상과 피처를 바탕으로 테스트 설계 기법을 결정

  • 정적 테스트

    • 리뷰

      • 관리 리뷰, 기술 리뷰, 인스펙션, 워크쓰루, 감사
    • 정적 분석

      • 코딩 표준, 복잡도 분석, 자료 흐름 분석

  • 동적 테스트

    • 명세 기반 테스트

      • 동등 분할, 분류 트리 기법, 경곗값 분석, 신택스 테스트, 조합 테스트,
        상태 전이 테스트, 인과 그래핑, 결정표 테스트, 시나리오 테스트
    • 구조 기반 테스트

      • 문장, 결정, 조건, 결정/조건, 다중 조건, 변형조건/결정, 기본 경로 테스트
    • 경험 기반 테스트

      • 오류 추정, 탐색적 테스트
    • 테스트 설계 및 구현 활동에서 테스트 케이스 개발을 지원할 정도로 구체화 필수

    • 명세기반 테스트 설계 기법 선택 방법



22-2. 테스트 환경 요건

  • 테스트 대상을 실행하기 위한 모든 환경

    • 하드웨어, 운영체제를 포함한
      시스템 소프트웨어, 외부 연동 시스템, 공존하는 응용 소프트웨어, 테스트 도구 포함
  • 컴포넌트, 통합 테스트 => 기능 테스트에 초점

  • 시스템, 인수 테스트 => 비기능 테스트도 수행

  • 테스트 레벨 별 테스트 환경



22-3. 테스트 데이터 요건

  • 테스트 데이터 요건

    • 테스트 대상 입력 유형

      • 데이터의 규모가 크고 복잡한 구조를 가지고 있는 경우
        해당 데이터가 테스트 케이스와 별개로 파일 or DB에 정의되고 이를 참조
    • 테스트 대상 상태 유형

      • 테스트 케이스의
        선행 조건에 명시된 상태로 설정하기 위한 테스트 데이터가 필요
    • 테스트 환경 항목 유형

      • 각 테스트
        환경 항목을 테스트 케이스의 선행 조건에서 요구하는 상태
        설정하기 위한 테스트 데이터


  • 데이터 이름과 역할 설명
    • 테스트 데이터에 대한 구체적인 요건 식별



22-4. 재테스팅 및 리그레션 테스팅

  • 어떤 조건에서 시작을 할지, 어떤 방법을 적용할지를 기술

  • 자동화할 수 있는 도구 활용도 고려

    • 재테스팅
      검출된 결함의 해결 여부가 검증될 때까지 반복적으로 다시 테스트

      • 자동화 도구를 통해서 실행시킬 수 있도록 테스트 스크립트(Script) 개발

        • 많은 시간이 필요하므로 Record&Playback 도구를 사용하여
          테스트 스크립트를 자동 생성 가능
      • 낮은 심각도의 결함에 대해서는 컴포넌트 테스트와 통합 테스트에서 생략하고
        시스템 테스트에서 재테스팅 수행 검토

    • 리그레션 테스팅
      소프트웨어 변경이 발생한 후에 수행되는 테스트
      소프트웨어에 가해진 변경이 의도하지 않은 결함을 만들지 않았으며
      기존 요구사항을 검증하기 위하여 수행

      • 컴포넌트, 통합, 시스템, 인수 테스트의 여러 레벨에서 수행 가능

      • 개별 테스트에 대한 계획서보다는 프로젝트 테스트 계획서에 기술

      • 주어진 시간과 비용에 따라 리그레션 테스팅을 전체 레벨에서 수행하지 않을 수도 있음

      • 수행할 테스트 레벨 결정은 소프트웨어에 가해진 변경의 유형과 그 영향에 대한 추정을 바탕으로 결정

        • Ex) 컴포넌트, 통합, 시스템, 인수 테스트 중 생략이 가능한 부분은 생략 가능
      • 리그레션 테스트 전략



22-5. 테스팅 중단 및 재시작 조건

  • 각 테스트 활동의 원활한 수행을 방해할 수 있는 상황을
    중단 조건으로 설정 가능



22-6. 테스트 완료 기준


테스트 완료 여부를 판단할 수 있는 객관적인 기준
충분한 테스트를 수행하였다고 판단할 수 있는 기준

  • 기본 유형의 테스트 완료 기준

    • 테스트 케이스(테스트 절차) 기반 방법

      • 테스트 대상과 관련된 테스트 케이스 및 테스트 절차 중에서 어느 정도가 통과되었는지를 기준
    • 테스트 커버리지 기반 방법

      • 테스트 케이스를 도출하는 기준 문서(데이터 베이시스)의 내용이 얼마나 다루어졌는지를 기준
    • 결함 기반 방법

      • 발견된 결함 정보를 바탕으로 테스트 완료 기준을 설정
      • 3가지 유형을 조합해서도 사용

  • 분석 유형의 테스트 완료 기준

    • 테스트 분석 및 설계 활동에서 생성된 테스트 케이스(테스트 절차)와
      테스트 실행 활동에서 발견된 결함 정보 기준으로 판단

    • 동적 테스트 활동에 추가적인 노력이 필요하므로
      시스템 테스트 및 인수 테스트가
      주요 의사 결정을 하는 경우 테스트 완료 기준으로 사용

    • 신뢰도 예측 모델 기반 방법

      • 테스트하면 할수록 높은 신뢰도 달성

      • 테스트 대상에 대해서 신뢰도를 예측하고,
        목표로 삼은 수준 이상으로 신뢰도 달성이 예상되면 테스트가 완료

      • 가정하는 상황이 현재 시스템에서 유효한지 유의 필요

    • 결함 탐침 기반 방법

      • 테스트를 시작하기 전에 미리 다양한 유형의 결함을 시스템에 인위적으로 삽입

      • 테스트에서 발견된 결함 중에서 인위적으로 삽입된 결함의 비율을 계산

      • 시스템에 남아 있는 발견되지 않은 잔존 결함의 수를 예측하고,
        일정 수준 이하이면 테스트가 완료

      • 테스터의 과거의 경험에 바탕을 두므로 편향될 가능성존재

      • 새로운 유형의 시스템을 테스트할 때 균형적인 결함을 만들기 어려움.

    • 복수 테스트팀 기반 방법

      • 독립적인 두 개의 테스트팀이 동일한 시스템을 테스트하여
        각각 발견한 결함의 갯수로 전체 결함의 수를 예측

      • 동일한 시스템에 대해서 두 개의 테스트팀을 투입해야 하므로 테스트 비용이 많이 소요

      • 각 팀이 발견하는 결함이 서로 독립적임을 가정하지만,
        두 팀이 사용하는 테스트 전략과 테스트 경험에 따라서 결함 발견의 독립성 보장 X

  • 개별 테스트의 테스트 완료 기준

    • 각 개별 테스트별로 구체적으로 설정
    • 예시



22-7. 테스트 매트릭


진척도를 파악할 때 지표
테스트 완료 기준으로도 사용

  1. 테스트 계획 활동 메트릭
    • 목적에 따라 대상을 선정하고 각 테스트 대상 별 테스트 범위(피처)를 식별
    • 식별된 테스트 대상 및 피처의 수를 통해 진척도 파악

  1. 테스트 설계 및 구현 활동 메트릭

    • 테스트 계획에서 식별된 테스트 대상별로
      유사한 피처를 그룹화하여 피처 집합을 결정

    • 피처 집합별로
      테스트 케이스와 테스트 절차를 개발하며
      테스트 환경 요건과 테스트 데이터 요건을 결정

    • 테스트 케이스 및 테스트 절차가 목표로 하는 범위를 충분히 반영하였는지를
      테스트 커버리지(Coverage)를 통해서 측정

      • 테스트 커버리지
        테스트 케이스 및 테스트 절차로 확인이 되는 테스트 베이시스의 비중으로,
        얼마나 충분한 테스트를 하는지 보여주는 정량적인 지표로 높을수록 감지하는 결함이 다양해짐

        요구사항, 설계, 코드 커버리지는 구체적으로 확인할 요소에 따라서 세분화

        • 요구 사항 커버리지

          • 제시된 요구사항을 어느 정도 확인하고 있는지를 의미
          • 요구사항의 세부 요소가 무엇인지에 따라서 구체적으로 정의
        • 설계 커버리지

          • 설계 활동 결과물에 대해서 테스트 케이스 및 테스트 절차가
            얼마나 많이 확인할 수 있는지를 의미

          • 개별 설계 요소에 대한 확인과 설계 요소 간의 연결에 대한 확인을 기준

          • 함수 대상 설계 커버리지

          • 클래스 대상 설계 커버리지

          • 컴포넌트 대상 설계 커버리지

        • 코드 커버리지

          • 테스트 대상의 소스 코드 요소를 케이스 또는 테스트 절차가 얼마나 확인하는가를 의미


  2. 테스트 환경 구축 및 관리 활동 메트릭

    • 계획된 테스트 환경과 테스트 데이터에 대한 준비 상황을 메트릭으로 정의

  1. 테스트 실행 활동 메트릭

    • 개발된 테스트 케이스 및 테스트 절차를 실행하고
      예상 결과와 실제 결과를 비교하고 테스트 실행 결과를 기록

      • 테스트 실행 관련 메트릭

      • 테스트 커버리지 관련 매트릭

  2. 결함 보고 활동 메트릭

    • 테스트 실행 결과를 분석하여 식별된 결함을 기록

    • 보고 기간 내에 측정된 각 메트릭 값을 전체 기간으로 누적한 수치도 사용가능

      • 누적 검출 결함 수는 전체 기간에 걸쳐서 식별된 모든 결함의 수
      • 시스템 전체가 아니라 개별 테스트 대상별로도 산정 가능



22-8. 테스트 산출물


테스트 문서뿐만 아니라 테스트 입력과 출력,
그리고 테스트를 수행하기 위하여 개발된 자동화 도구도 테스트 산출물
테스트 산출물이 언제 누구에게 제공될지에 대한 계획도 기술

  • 테스트 관리 프로세스 산출물

  • 동적 테스트 프로세스 산출물



23. 테스트 계획 산출물


23-1. 테스트 계획 산출물

  • 테스트 컨텍스트 명세
    • 테스트 계획 유형, 테스트 대상, 테스트 범위, 가정 및 제약 사항, 이해관계자
  • 위험 분석
    • 프로젝트 위험, 제품 위험
  • 테스트 전략 수립
    • 개별 테스트, 테스트 산출물, 테스트 설계 기법, 테스트 환경 요건, 테스트 데이터 요건, 재테스팅 및 리그레션 테스팅, 테스팅 중단 및 재시작 기준, 테스트 매트릭, 테스트 완료 기준, 조직 테스트 전략과의 차이점
  • 테스트 수행 계획
    • 테스트 조직/인력 및 역할, 테스트 활동 및 일정, 의사소통
profile
기억저장소

0개의 댓글