티스토리 뷰

Keywords

결함 관리(defect management), 결함 보고서(defect report), 입력 기준(entry criteria), 출력 기준(exit criteria), 제품 리스크(product risk), 프로젝트 리스크(project risk), 리스크(risk), 리스크 분석(risk analysis), 리스크 평가(risk assessment), 리스크 통제(risk control), 리스크 식별(risk identification), 리스크 수준(risk level), 리스크 관리(risk management), 리스크 완화(risk mitigation), 리스크 모니터링(risk monitoring), 리스크 기반 테스트(risk-based testing), 테스트 접근법(test approach), 테스트 완료 보고서(test completion report), 테스트 통제(test control), 테스트 모니터링(test monitoring), 테스트 계획(test plan), 테스트 기획(test planning), 테스트 진행 보고서(test progress report), 테스트 피라미드(test pyramid), 테스트 사분면(testing quadrants)


1. 테스트 계획

1-1. 테스트 계획의 목적과 내용

테스트 계획은 테스트 프로젝트의 목표, 자원, 프로세스를 설명하는 문서이다. 테스트 계획은 다음과 같은 역할을 한다.

  • 테스트 목표를 달성하기 위한 방법과 일정을 문서화한다.
  • 수행된 테스트 활동이 설정된 기준을 충족하도록 보장한다.
  • 팀원 및 기타 이해관계자와의 의사소통 수단으로 활용된다.
  • 테스트가 기존 테스트 정책 및 전략을 준수함을 입증하거나, 그렇지 않을 경우 그 이유를 설명한다.

테스트 계획은 테스터가 미래에 직면할 리스크, 일정, 인력, 도구, 비용, 노력 등의 도전 과제를 미리 고려하도록 돕는다. 테스트 계획을 준비하는 과정 자체가 테스트 프로젝트 목표를 달성하기 위해 필요한 노력을 체계적으로 생각하게 만드는 유용한 방법이다.

테스트 계획의 일반적인 내용은 다음과 같다.

  • 테스트의 맥락(범위, 테스트 목표, 제약 조건, 테스트 베이시스 등)
  • 테스트 프로젝트의 가정과 제약 조건
  • 이해관계자(역할, 책임, 테스트와의 관련성, 채용 및 교육 필요성 등)
  • 의사소통(의사소통 형식과 빈도, 문서 템플릿 등)
  • 리스크 등록부(제품 리스크, 프로젝트 리스크 등)
  • 테스트 접근법(테스트 레벨, 테스트 유형, 테스트 기법, 테스트 산출물, 입출력 기준, 테스트 독립성, 수집할 메트릭, 테스트 데이터 요구사항, 테스트 환경 요구사항, 조직 테스트 정책 및 전략에서의 이탈 사항 등)
  • 예산과 일정

테스트 계획과 관련된 추가 세부 사항은 ISO/IEC/IEEE 29119-3 표준에서 확인할 수 있다.

 

테스트 활동 관리


2. 테스터의 반복 및 릴리스 계획 기여

반복적 SDLC에서는 주로 두 가지 종류의 계획이 이루어진다.

  • 릴리스 계획: 제품 릴리스를 내다보며 제품 백로그를 정의하고 재정의하며, 더 큰 사용자 스토리를 작은 사용자 스토리로 세분화한다. 릴리스 계획은 모든 반복에 걸친 테스트 접근법 및 테스트 계획의 기초가 된다. 테스터는 다음 활동에 참여한다.
    • 테스트 가능한 사용자 스토리와 인수 기준 작성
    • 프로젝트 및 품질 리스크 분석
    • 사용자 스토리에 연관된 테스트 노력 추정
    • 테스트 접근법 결정 및 릴리스 테스트 계획
  • 반복 계획: 개별 반복의 종료를 내다보며 반복 백로그와 관련된 작업을 계획한다. 테스터는 다음 활동에 참여한다.
    • 사용자 스토리의 상세 리스크 분석
    • 사용자 스토리의 테스트 가능성 결정
    • 사용자 스토리를 작업(특히 테스트 작업)으로 분해
    • 모든 테스트 작업에 대한 테스트 노력 추정
    • 테스트 대상의 기능적 및 비기능적 측면 식별 및 세분화

3. 입출력 기준

입력 기준(entry criteria)은 특정 활동을 시작하기 위한 사전 조건을 정의한다. 입력 기준이 충족되지 않을 경우, 해당 활동은 더 어렵고, 시간이 오래 걸리며, 비용이 많이 들고, 리스크가 커질 가능성이 높다.
출력 기준(exit criteria)은 활동이 완료되었다고 선언하기 위해 달성해야 할 조건을 정의한다. 입력 기준과 출력 기준은 각 테스트 레벨에 대해 정의되어야 하며, 테스트 목표에 따라 다를 수 있다.

일반적인 입력 기준

  • 자원의 가용성(사람, 도구, 환경, 테스트 데이터, 예산, 시간 등)
  • 테스트웨어의 가용성(테스트 베이시스, 테스트 가능한 요구사항, 사용자 스토리, 테스트 케이스 등)
  • 테스트 대상의 초기 품질 수준(예: 모든 스모크 테스트 통과)

일반적인 출력 기준

  • 테스트의 철저함(커버리지 수준, 해결되지 않은 결함 수, 결함 밀도, 실패한 테스트 케이스 수 등)
  • 완료 기준(계획된 테스트 실행 완료, 정적 테스트 수행, 발견된 모든 결함 보고, 모든 회귀 테스트 자동화)

시간이나 예산이 소진된 경우에도 출력 기준으로 간주될 수 있다. 이러한 상황에서 다른 출력 기준이 충족되지 않더라도, 이해관계자가 위험을 검토하고 추가 테스트 없이 릴리스를 진행하기로 수용했다면 테스트를 종료하는 것이 허용될 수 있다.

애자일 소프트웨어 개발에서는 출력 기준을 종종 "완료 정의(Definition of Done)"라고 하며, 릴리스 가능한 항목에 대한 팀의 객관적인 메트릭을 정의한다. 사용자 스토리가 개발 및/또는 테스트 활동을 시작하기 위해 충족해야 하는 입력 기준은 "준비 완료 정의(Definition of Ready)"라고 한다.

'소프트웨어 테스팅' 카테고리의 다른 글

설정 관리와 결함 관리  (0) 2025.01.13
테스트 모니터링, 통제 및 완료  (0) 2025.01.13
리스크 관리  (0) 2025.01.13
테스트 계획 및 추정  (0) 2025.01.13
협업 기반 테스트 접근법  (0) 2025.01.13
경험 기반 테스트 기법  (0) 2025.01.13
화이트박스 테스트 기법  (0) 2025.01.13
블랙박스 테스트 기법  (0) 2025.01.13