CSTS

11. 테스트 프로세스 개요

SNNP 2021. 3. 1. 13:11

테스트 프로세스를 조직 테스트 프로세스, 테스트 관리 프로세스, 동적 테스트 프로세스로 분류

  • 테스트 프로세스는 개발 프로세스와 함께 진행, 지속적 개선 필요
  • 소프트웨어 품질 목표 달성에 테스트 프로세스가 중요한 역할을 함
  • 효율적이고 효과적인 테스트 수행을 위한 관리의 중요성이 부각됨
  • 평가를 통한 테스트 활동 개선이 필요

 

조직 테스트 프로세스

  • 조직 전체에 공통적으로 적용되는 조직 테스트 명세서를 개발하고 관리하는 것을 목적으로 함
  • 조직 테스트 명세서는 정책 명세서와 조직 테스트 전략 명세서로 구분
  • 명세서를 개발, 명세서가 테스트 관리 프로세스 및 동적 테스트 프로세스에서 적용되는지 모니터링 하고 제어
  • 테스트 관리 프로세스 및 동적 테스트 프로세스의 수행 성과를 바탕으로 조직 테스트 명세서를 갱신

테스트 관리 프로세스

  • 조직 테스트 프로세스를 기반으로 테스트 프로젝트의 수행을 관리하기 위한 프로세스
  • 테스트 수행 계획을 수립하고 계획에 따른 테스트 수행을 모니터링하고 제어, 테스트 종료 활동 수행
  • 계획서 작성, 현황 보고서 작성, 종료 보고서 작성

동적 테스트 프로세스

  • 테스트 계획서에 따라 동적 테스트를 수행하기 위한 활동으로 구성
    (설계 및 구현 활동 수행, 테스트 환경 구축, 테스트 실행, 검출된 결함 등록, 관리)
  • 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 환경 요건 명세서, 데이터 요건 명세서 작성
    테스트 환경 관리 보고서, 테스트 데이터 준비 보고서 작성
    테스트 실행 로그 및 결함 보고서, 결함 추적 보고서 작성

조직 테스트 프로세스


 

  • 조직 테스트 명세 개발 : 조직의 테스트 목표를 바탕으로 조직 테스트 정책 명세서 및 조직 테스트 전략 명세서 개발
  • 조직 테스트 명세 활용 모니터링 및 제어 :
    조직 테스트 명세서가 조직 내에서 효과적으로 활용되는지 모니터링하고 필요하면 테스트 관리 활동 제어
  • 조직 테스트 명세 갱신 : 조직 테스트 명세서의 활용에 대한 피드백을 바탕으로 조직 테스트 명세서를 개선

조직 테스트 명세 개발

  • 테스트 목적, 테스트 프로세스, 테스트 조직 및 역할, 테스트 표준, 테스트 자산 관리, 테스트 프로세스 개선을 다룸
  • 테스트 전략 명세서에서 제시된 항목들을 바탕으로 테스트 수행을 위한 구체적인 방법 정의
  • 조직 테스트 전략은 프로젝트 수준의 전략과 개별 테스트 수준의 전략으로 구성
    프로젝트 수준의 전략은 컴포넌트 테스트, 통합 테스트, 시스템 테스트 등의 특정 테스트 레벨
    성능 테스트 신뢰성 테스트 등에 국한되지 않는 여러 개별 테스트에 공통적으로 적용될 수 있는 항목 정의
  • 개별 테스트 수준의 전략은 프로젝트 테스트를 구성하는 각 구체적인 테스트에 적용하는 전략을 의미

조직 테스트 명세 활용 모니터링 및 제어

  • 개발된 조직 테스트 명세서는 실제 수행되는 테스트 프로세스에서 활용
  • 해당 테스트 프로세스 수행의 기본 지침으로써 사용
  • 테스트 관리 프로세스 및 동적 테스트 프로세스는 조직 테스트 명세서의 내용을 바탕으로 수행
  • 테스트 관리 및 동적 테스트 프로세스의 수행이 조직 테스트 명세서와 일치된 방식으로 진행되는지 모니터링

조직 테스트 명세 갱신

  • 조직 테스트 명세서는 모든 테스트의 효과 및 효율성에 영향을 미침
  • 효과적이고 효율적인 테스트를 수행할 수 있도록 조직 테스트 명세서를 지속적으로 갱신
  • 조직 테스트 명세서를 지침으로 하여 수행된 개별 테스트 프로젝트의 성과를 바탕으로 조직 테스트 명세서를 갱신
  • 변화하는 테스트 기술을 조직 테스트 명세서에 반영하여 최신 방식으로 테스트가 수행되도록 할 필요도 있음

조직 테스트 정책

  • 테스트 목적 : 조직에서의 테스트에 대한 목적, 목표 그리고 테스트의 범위를 기술
  • 테스트 프로세스 : 조직에서 테스트를 수행할 때 준수할 테스트 프로세스를 명시
  • 테스트 조직 및 역할 : 테스트 활동을 수행하는 테스트 조직의 구조와 역할을 정의
  • 테스트 표준 : 테스트를 수행하면서 참고하고 준수해야 할 표준을 정의
  • 테스트 자산 관리 : 테스트의 결과물을 축적하고 이후 재사용하는 방법을 정의
  • 테스트 프로세스 개선 : 테스트 프로세스를 평가하고 개선하는 방법을 정의

테스트 목적

  • 결함 검출을 통한 제춤 품질 개선
  • 품질 평가를 통한 의사 결정 지원
  • 개발 프로세스 개선 지원

테스트 프로세스

  • 테스트 관리 프로세스 : 테스트 계획을 수립하고, 계획에 따라 동적 테스트 및 정적 테스트가 수행되는지 모니터링
  • 동적 테스트 프로세스 : 동적 테스트를 수행하기 위한 테스트 설계, 구현, 테스트 환경 구축, 테스트 실행, 결함 보고
  • 정적 테스트 프로세스 : 정적 테스트의 유형을 명시하고 정적 테스트를 수행하는 역할과 그 절차 정의

테스트 조직 및 역할

  • 테스트 전략가 : 조직 수준의 테스트 정책과 전략을 수립하고 관리
  • 테스트 관리자 : 테스트 계획 수립, 모니터링 및 제어, 테스트 종료 활동 수행 관리
  • 테스트 리더 : 테스트 계획을 수립하고 테스트 모니터링 및 제어 활동 수행
  • 테스트 분석가 : 테스트 컨텍스트를 바탕으로 테스트 전략 수립
  • 테스트 설계자 : 테스트 전략에 따라 테스트 케이스 및 테스트 절차 개발
  • 테스트 환경 전문가 : 테스트 환경 요건을 충족하는 테스트 환경을 구축하고 관리
  • 테스트 수행자 : 개발된 테스트 절차에 따라 테스트를 수행하고 테스트 결과를 기록하며 결함 보고서 작성

테스트 자산 관리

  • 테스트 자산은 테스트 프로젝트를 수행하면서 산출된 결과물 중 테스트를 위해 재사용될 수 있는 결과물을 말함
  • 테스트 프로젝트 종료되면 추후 재사용이 가능한 테스트 자산을 정리하여 저장하고 종료 보고서에 기록
  • 리그레션 테스팅 수행 시 재사용될 수 있도록 자산으로 관리하는 것이 바람직

테스트 프로세스 개선

  • 테스트 케이스 기반 평가 : 개발된 테스트 케이스가 결함을 검출하면 테스트 프로세스는 우수하다고 판단
  • 결함 기반 평가 : 테스트를 통해 많은 수의 결함을 검출하면 테스트 프로세스는 우수하다고 판단

프로젝트 수준의 조직 테스트 전략

  • 위험 관리 : 테스트 진행하면서 수행할 위험 관리 방법 명시
  • 테스트 선택 및 우선순위 : 우선순위를 부여하고 이를 바탕으로 테스트를 선택하는 방법 명시
  • 테스트 문서화 : 테스트 수행하면서 작성할 산출물을 명시
  • 형상 관리 : 테스트 산출물에 대한 형상 관리 방법 명시
  • 결함 관리 : 검출된 결함을 종결시킬 때까지의 관리 방법을 명시
  • 자동화 도구 : 테스트 활동을 자동화하기 위한 도구를 명시
  • 수행 개별 테스트 : 레벨 테스트 및 유형 테스트 등 수행할 개별 테스트 명시

위험 관리

  • 위험 분석은 위험 요소 식별, 위험도 산정, 위험 평가를 통해 수행
  • 식별된 위험에 대해 위험 평가를 바탕으로 적절한 조치 방안 수립
  • 위험 분석은 프로젝트 전 과정에 걸쳐서 지속적으로 수행
  • 테스트 계획 활동에서는 위험 요소 분석과 위험 요소의 유형 및 내용에 따라 적절한 조치 계획 수립
  • 테스트 모니터링 및 제어 활동에서는 계획된 위험 조치 작업에 대한 모니터링과 기존 위험의 상태 변화 및 신규 위험 발견 
  • 테스트 종료 때는 해소되지 않은 위험에 대해 해소되지 않은 이유와 소프트웨어 품질, 미치는 영향 파악

위험 분석

  • 위험 요소 식별
    위험 요소는 체크리스트 또는 과거 데이터 검토와 같은 기존 사례를 바탕으로 식별
  • 위험도 산정
    위험 요소의 위험도는 발생 가능성(likelihood)과 영향도(impact)를 통해서 산정
    과거 사례 분석/ 폴트 트리 분석, 이벤트 트리 분석 등의 예측 방법/ 체계적인 전문가 의견
  • 위험 평가
    앞서 수행된 위험도 분석 결과를 바탕으로 개별 위험의 수준을 결정하고 이에 따른 조치 작업의 수행 여부 결정
    비용이 얼마가 들든 반드시 조치가 필요한 위험 요소는 상위 등급으로 분류
    비용과 효과를 고려해서 조치 여부를 결정하는 위험은 중간 등급으로 분류
    위험도가 낮아서 조치 작업을 수행하지 않아도 되는 위험 요소는 하위 등급으로 분류

위험 조치 수행

  • 위험 조치 작업은 위험 회피, 위험 완화, 위험 전가, 위험 수용으로 분류
  • 시스템의 범위를 조정, 설계 및 구현을 통해 위험 요소 제거
  • 조치 작업이 필요하다고 평가된 각 위험에 대해 비상 계획 수립하도록 함
  • 위험 완화 : 위험의 발생 가능성을 낮추거나 발생에 따른 영향도를 축소시키는 방안 수립
  • 위험 전가 : 기능 및 비기능 피처에 대한 테스팅을 아웃소싱
  • 위험 수용 : 위험에 대한 특별한 조치 없이 모니터링만 함

위험 모니터링

  • 피처 집합의 우선순위 : 피처 집합은 테스트 설계 및 실행의 단위
    피처 집합 별로 우선순위를 부여하고 이를 바탕으로 피처 집합별 테스트 케이스 및 테스트 절차 개발, 실행
  • 테스트 케이스의 우선순위 : 각 테스트 케이스를 통해 확인된느 구체적인 기능의 중요도를 고려하여 우선순위 부여
  • 테스트 절차의 우선순위 : 각 테스트 절차는 중요도에 따라 우선순위 부여됨

테스트 문서화

  • 프로젝트 수준에서 수행하는 테스트 활동에서 작성해야 하는 테스트 문서 식별
  • 프로젝트 테스트 계획서는 컴포넌트, 성능, 인수 등 개별 테스트에 대한 공통적인 계획 포함
    각 개별 테스트의 수행 결과 바탕으로 프로젝트 수준의 테스트 종료 보고서가 작성됨
  • 테스트 프로젝트를 구성하는 개별 테스트 문서화는 개별 테스트 수행 부분에서 결정됨

형상 관리

  • 형상 식별에서는 산출물 중 형상 관리의 대상 즉 변경 통제 대상이 되는 산출물 정의하고 식별자 규칙 정의
  • 베이스라인으로 설정된 산출물의 변경은 변경 요청을 바탕으로 변경 승인 여부를 검토
  • 형상 관리 활동 및 각 형상 항목의 베이스 라인에 대한 변경 이력과 요청에 대한 처리 상태를 기록/보고 계획 수립

결함 관리

  • 결함 기록 : 식별된 결함에 대해 검출된 상황, 발생한 문제, 심각도, 우선순위, 위험 분석을 결함 보고서에 기록
  • 결함 추적 : 각 결함은 개발자를 통해 수정, 올바르게 수정되었는지 확인 필요

자동화 도구

  • 테스트 관리 : 테스트 관리 도구, 요구사항 관리, 결함 관리, 형상 관리
  • 정적 테스트 : 리뷰 프로세스 지원, 정적 분석, 모델링
  • 동적 테스트 : 테스트 설계, 테스트 데이터 준비
  • 테스트 실행 : 테스트 실행, 테스트 하네스/단위 테스트 프레임워크, 테스트 비교기, 커버리지 측정

수행 개별 테스트

  • 컴포넌트 테스트 : 시스템을 구성하는 각 컴포넌트의 기능에 대한 테스트 수행
  • 통합 테스트 : 컴포넌트 간의 연결에 대한 테스트 수행
  • 시스템 테스트 : 요구사항 명세서 바탕으로 시스템 전체의 기능에 대한 테스트 수행
  • 신뢰성 테스트 : 컴포넌트, 통합, 시스템 수준에서 신뢰성에  초점을 둔 테스트 수행
  • 성능 테스트 : 컴포넌트, 통합, 시스템 수준에서 성능에 초점을 둔 테스트 수행
  • 보안 테스트 : 시스템 수준에서 보안에 초점을 둔 테스트 수행
  • 인수 테스트 : 사용자 환경에서 사용자 중심으로 기능, 성능, 신뢰성, 보안에 초점을 둔 테스트 수행

개별 테스트 수준의 주직 테스트 전략

  • 테스트 독립성 : 기술적, 관리적, 재정적 측면에서 테스트 활동의 독립성 기술
  • 테스트 문서화 : 개별 테스트 수준에서 수행되는 테스트 활동을 통해 생성되는 산출물 정의
  • 테스트 시작 및 종료 조건 : 동적 테스트 활동을 시작하기 위해 만족해야 하는 조건, 종료할 수 있는 조건
  • 테스트 설계 기법 : 개별 테스트에 적용할 테스트 설계 기법 결정
  • 테스트 환경 및 테스트 데이터 : 개별 테스트 수행을 위해 필요한 테스트 환경과 테스트 데이터 기술
  • 재테스팅 및 리그레션 테스팅 : 재테스팅 및 리그레션 테스트를 수행하는 방법 정의
  • 테스트 메트릭 : 개별 테스트 수행 현황을 모니터링하기 위해 측정할 메트릭 정의
  • 테스트 완료 기준 : 테스트 대상에 대한 테스트 완료 여부를 판단할 수 있는 객관적인 기준 정의

테스트 독립성

  • 기술적 독립성 : 개발 조직과 다른 테스트 조직 고유의 도구 사용, 도구를 공유하는 경우 qualification 테스트 수행
  • 관리적 독립성 : 개발 및 관리 조직의 영향 없이 독자적으로 테스트 대상, 범위, 전략 수립 
  • 재정적 독립성 : 개발 예산 부족이 테스트 활동의 수행에 영향을 주지 않음
독립성 형태 기술적 측면 관리적 측면 재정적 측면
최고 수준의 형태 R R R
변형된 형태 R C R
통합된 형태 C R R
내부적 형태 C C C
내장된 형태 M M M

      철저한 독립성(R-Rigorous), 조건적 독립성(C-conditional), 최소의 독립성(M-Minimized)

  • 최고 수준의 형태 : 기술, 관리, 재정 측면에서 철저한 수준의 독립성, 시스템 장애로 인한 피해가 심각할 경우 요구
  • 변형된 형태 : 관리 측면에서 조건적으로 독립적인 형태, 1차 통합사가 V&V 포함 전체 개발 관리하는 경우
  • 통합된 형태 : 기술 측면에서 조건적으로 독립성을 가짐. V&V결과를 개발 프로세스에 신속하게 제공하는 것에 초점
    개발 조직과 V&V 조직의 성공 여부는 서로 의존적
  • 내부적 형태 : 기술, 관리, 재정 측면에서 모두 조건적인 형태, 개발 조직이 V&V 예산 통제, 재정적 측면 독립성 약화
  • 내장된 형태 : 개발에 참여하지 않은 개발 조직 인력이 V&V 수행. 산출물에 대한 독립 테스트 명시적으로 수행 안함

테스트 시작 및 종료 조건

  • 테스트 활동 시작 및 종료 조건
    테스트 베이시스(개발 산출물)가 준비되어 있음을 확인
    테스트 환경 구축 및 관리, 테스트 실행, 결함 보고 활동은 직전 수행 활동의 종료 조건이 해당 활동의 시작 조건
  • 개별 테스트 프로세스의 시작 및 종료 조건
테스트 레벨 테스트 시작 조건
컴포넌트 테스트 승인된 버전의 각 컴포넌트에 대한 상세 설계 명세서
각 컴포넌트의 승인된 빌드
통합 테스트 승인된 버전의 구조 설계 명세서
통합 대상에 포함된 컴포넌트에 대한 컴포넌트 테스트 완료
컴포넌트 테스트 종료 보고서
시스템 테스트 승인된 버전의 소프트웨어 요구사항 명세서
통합 테스트 완료
통합 테스트 종료 보고서
인수 테스트 시스템 테스트 완료
시스템 테스트 종료 보고서

 

테스트 설계 기법

유형 장점 단점
정적 테스트 구현물이 완성되기 전에 적용 가능함
실행을 위한 환경을 필요로 하지 않음
결함의 위치를 직접적으로 결정함
동적 특성(성능, 신뢰성, 가용성 등) 확인 불가능
동적 테스트 동적 특성(성능, 신뢰성, 가용성, 등) 확인 가능 구현물이 완성된 후에 적용 가능
테스트 환경 및 데이터 등이 준비되어야 함
장애 확인 후 결함 위치 분석 필요

 

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

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

경험 기반 테스트 : 오류 추정, 탐색적 테스트

 

  • 명세 기반 테스트는 실제로 구현되지 않은 결함을 검출할 수 있지만 명세되지 않은 기능을 갖는지 모름
  • 구조 기반 테스트는 불필요한 기능 검출할 수 있지만 요구 명세에 언급된 기능이 누락되지 않았는지 모름
  • 구조 기반 테스트는 규모가 작은 컴포넌트/모듈 등을 대상으로 수행하는 것이 일반적
    컴포넌트 레벨의 테스트에서 일반적으로 적용
  • 명세 기반 테스트는 상세 설계, 구조 설계, 요구분석 등의 명세를 바탕으로 테스트 케이스 설계
    컴포넌트 테스트, 통합 테스트, 시스템 테스트, 인수 테스트에서 모두 활용 가능

테스트 환경 및 테스트 데이터

  • 하드웨어 : 테스트 대상이 실행되기 위해 필요한 하드웨어들
  • 시스템 소프트웨어 : 테스트 대상이 실행되기 위해 필요한 운영체제, 미들웨어 등의 시스템 소프트웨어
  • 외부 연동 시스템 : 테스트 대상과 연동하는 외부의 시스템 및 장치들
  • 공존 응용 소프트웨어 : 테스트 대상과 동일한 하드웨어 및 시스템 소프트웨어 상에서 수행되는 응용소프트웨어들
  • 테스트 도구 : 테스트 실행 시 활용되는 자동화 도구들

재테스팅 및 리그레션 테스팅

  • 소프트웨어가 수정되었을 때 어떤 방식으로 테스팅을 수행할 지에 대한 전략을 수립
  • 재테스팅과 리그레션 테스팅은 목적과 방법상 다소 차이가 있지만, 소프트웨어가 변경된 후에 수행되는 건 동일
  • 재테스팅은 전체 개별 테스트 수준에서할 지 일부 개별 테스트에서 수행할지 전략 정의
  • 리그레션 테스팅은 컴포넌트에 대한 기능 추가, 결함 수정 등으로 소스 코드 변경되었을 때 컴포넌트, 통합, 시스템 등 어느 레벨에서 리그레션 테스트를 수행할지 기준을 정의할 필요가 있음

테스트 메트릭

  • 테스트 현황을 정량적으로 파악하여 테스트의 진척도, 시스템의 품질을 판단하기 위해 수집하는 측정 항목
  • 테스트 메트릭은 테스트 완료 기준으로 사용됨
  • 테스트 활동 및 테스트 대상 소프트웨어를 평가하는데 각 테스트 활동별 메트릭을 사용할 수 있음

테스트 완료 기준

  • 종료 조건은 동적 테스트 프로세스의 종료 조건을 포함하여 동적 테스트 활동 종료 시 충족해야 하는 조건을 의미
  • 종료 조건은 해당 테스트 활동의 종료를 위해 반드시 충족되어야 하는 조건
  • 완료 조건은 동적 테스트 프로세스가 종료된 후에 수행된 테스트가 얼마나 충분한지 평가하기 위한 조건

산출물 요약

산출물 주요 항목
조직 테스트 정책 명세서 테스트 목적
테스트 프로세스
테스트 조직 및 역할
테스트 표준
테스트 자산 관리
테스트 프로세스 개선
조직 테스트 전략 명세서 프로젝트 수준의 전략
위험 관리
테스트 선택 및 우선순위
테스트 문서화
형상 관리
결함 관리
자동화 도구
수행 개별 테스트
개별 테스트 수준의 전략
테스트 독립성
테스트 문서화
테스트 시작 및 종료 조건
테스트 설계 기법
테스트 환경 및 테스트 데이터
재테스팅 및 리그레션 테스팅
테스트 메트릭
테스트 완료 기준

테스트 관리 프로세스


테스트 관리 프로세스

  • 테스트 계획 : 테스트 대상과 범위를 식별하고 조직 테스트 프로세스를 참고하여 테스트 전략 수립
  • 테스트 모니터링 및 제어 : 동적 테스트 프로세스의 수행을 모니터링하여 테스트 현황 파악 후 적절하게 제어
  • 테스트 종료 : 생성된 산출물을 관리하고 테스트 환경을 정리하며 테스트 종료 보고

테스트 활동

테스트 계획

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

테스트 모니터링 및 제어

  • 테스트 프로세스의 시작 및 테스트 활동의 시작
  • 계획 대비 진척도 점검에 따른 테스트 활동 제어
  • 위험 변동에 따른 테스트 활동의 제어
  • 테스트 활동의 종료 및 테스트 프로세스의 종료

테스트 종료

  • 생성된 결과물을 테스트 자산으로 관리
  • 테스트 프로젝트에서 사용되었던 다양한 테스트 환경 요소 정리
  • 테스팅 요약, 계획 대비 차이점, 테스트 메트릭, 테스트 방해 요인, 테스트 완료 평가, 잔존 위험, 테스트 산출물, 재사용 가능한 테스트 자산, 교훈

산출물 요약

  • 테스트 계획 활동에서는 테스트 계획서 작성, 테스트 계획서에는 테스트 컨텍스트, 위험분석, 테스트 전략, 테스트 수행 계획 포함
  • 테스트 모니터링 및 제어 활동에서는 테스트 현황 보고서 작성하며 계획 대비 진척도, 신규 및 위험 변경과 이후 테스트 계획 등이 포함
  • 테스트 종료 활동에서는 테스트 종료 보고서를 작성하며 테스팅 요약, 테스트 완료 평가, 잔존 위험 등이 포함
활동 산출물 주요 활동
테스트 계획 테스트 계획서 테스트 컨텍스트, 위험 분석, 테스트 전략, 테스트 수행 계획
테스트 모니터링 및 제어 테스트 현황 보고서 보고 대상 기간, 계획 대비 진척도, 테스트 메트릭,
신규 및 변경 위험, 이후 테스트 계획
테스트 종료 테스트 종료 보고서 테스팅 요약, 계획 대비 차이점, 테스트 메트릭, 테스트 방해 요인, 교훈,
테스트 완료 평가, 잔존 위험, 테스트 산출물, 재사용 가능한 테스트 자산

동적 테스트 프로세스


동적 테스트 프로세스

  • 테스트 설계 및 구현 : 테스트 계획에서 식별된 테스트 범위, 테스트 전략에 따라 테스트 케이스, 절차를 개발
  • 테스트 환경 구축 및 관리 : 테스트 실행을 위한 테스트 환경과 테스트 데이터를 준비
  • 테스트 실행 : 테스트 절차를 실행하고 테스트 실행 결과를 기록
  • 결함 보고 : 테스트 실행 결과에 대한 분석을 바탕으로 결함을 식별하고 기록

테스트 활동

테스트 설계 및 구현

  • 정의된 테스트 대상과 피처를 바탕으로 피처 집합을 식별하고 피처 집합에 포함된 각 피처를 세분화
  • 테스트 계획에서 수립된 테스트 전략을 구체화

테스트 설계 및 구현활동 산출물 요약

  • 테스트 설계 명세서 : 각 피처 집합에 대해
    목적, 우선순위, 피처 목록, 구체적 테스트 전략
  • 테스트 케이스 명세서 : 각 테스트 케이스에 대하여
    목적, 추적성, 우선순위, 선행 조건, 입력, 예상 결과
  • 테스트 절차 명세서 : 각 테스트 절차에 대하여
    목적, 우선순위, 시작 작업, 실행 테스트 케이스 목록, 종료 및 정리 작업, 다른 테스트 절차와의 관계
  • 테스트 환경 요건 명세서 : 각 테스트 환경 항목에 대하여
    테스트 환경 항목명, 설명, 요구사항, 필요 시기, 담당자
  • 테스트 데이터 요건 명세서 :  각 테스트 데이터에 대하어
    테스트 데이터명, 설명, 요구사항, 초기화 필요 여부, 부관 필요 여부, 담당자

테스트 환경 구축 및 관리

  • 주어진 환경 요건과 데이터 요건을 바탕으로 환경 구축, 테스트 데이터를 준비하여 테스트 실행이 진행되도록 지원
  • 테스트 환경 준비 보고서 : 요약, 각 테스트 환경 항목별 준비 상태
  • 테스트 데이터 준비 보고서 : 요약, 각 테스트 데이터별 준비 상태

테스트 실행

  • 실행 활동은 테스트 설계 및 구현 활동에서 개발된 테스트 절차를 실행함으로써 수행
  • 실행 로그는 테스트 실행 상황에 대한 설명과 함께 테스트를 수행하기 위한 작업과 발생한 이벤트 나열
  • 테스트 실행 로그 : 설명, 테스트 작업과 이벤트 목록

결함 보고

  • 테스트를 통해 발견되어 적절한 조치가 필요한 이슈에 대해 결함으로 보고
  • 테스트 실행의 결과물인 테스트 실행 로그를 분석하여 결함이라고 판단되면 결함 보고서 작성
  • 결함 보고서 : 결함 컨텍스트, 문제 설명, 심각도, 우선순위, 위험 분석, 결함 상태
  • 결함 추적 보고서 : 결함 검토 정보, 결함 해결 정보, 결함 해결 검증 정보

산출물 요약

활동 산출물 주요 항목
테스트 설계 및 구현 테스트 설계 명세서 목적, 우선순위, 피처 목록, 구체적 테스트 전략
테스트 케이스 명세서 목적, 추적성, 우선순위, 선행 조건, 입력, 예상 결과
테스트 절차 명세서 목적, 우선순위, 시작 작업, 테스트 케이스 목록
종료 및 정리 작업, 다른 테스트 절차와의 관계
테스트 환경 요건 명세서 테스트 환경 항목명, 설명, 요구사항, 필요 시기, 담당자
테스트 데이터 요건 명세서 테스트 데이터명, 설명, 요구사항, 초기화 필요 여부
보관 필요 여부, 담당자
테스트 환경 구축 및 관리 테스트 환경 준비 보고서 요약, 각 테스트 데이터 별 준비 상태
테스트 데이터 준비 보고서 요약, 각 테스트 데이터 별 준비 상태
테스트 실행 테스트 실행 로그 설명, 테스트 작업과 이벤트 목록
결함 보고 결함 보고서 결함 컨텍스트, 결함 설명, 심각도, 우선순위, 위험분석, 결함상태
결함 추적 보고서 결함 검토 정보, 결함 해결 정보, 결함 해결 검증 정보

테스트 산출물


산출물 요약

  • 조직 테스트 프로세스에서는 조직 테스트 정책 명세서와 조직 테스트 전략 명세서 작성
  • 테스트 관리 프로세스에서는 테스트 계획서 테스트 현황 보고서, 테스트 종료 보고서 작성
  • 동적 테스트 프로세스에서는 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 테스트 환경 요건 명세서, 테스트 테이터 요건 명세서, 테스트 환경 준비 보고서, 테스트 데이터 준비 보고서, 테스트 실행 로그, 결함 보고서, 결함 추적 보고서

산출물 간의 관계

  • 조직 수준의 테스트에 대한 최상위 문서로 조직 테스트 정책 명세서가 개발됨
  • 조직 테스트 전략 명세서를 바탕으로 동적 테스트 프로세스 수행을 위한 테스트 계획서를 개발
  • 테스트 계획서는 테스트 프로젝트 수준과 실제 수행될 개별 테스트 수준에서 개발
  • 개별 테스트 계획은 컴포넌트, 통합 테스트 등의 레벨 테스트 계획과 성능, 신뢰성 테스트 등의 유형테스트 계획
  • 개별 테스트별로 동적 테스트 프로세스의 산출물이 작성됨
  • 테스트 실행 활동에서는 테스트 절차를 실행하며 그 결과를 테스트 실행 로그에 기록
  • 동적 테스트 프로세스의 수행에 대한 상황을 모니터링하여 테스트 현황 보고서를 작성