본문 바로가기

CSTS

13. 테스트 설계/구현 및 테스트 환경 구축/관리

테스트 설계/구현 과 테스트 환경/구축

  • 테스트 설계 및 구현 : 테스트 계획서를 바탕으로 테스트 범위와 테스트 전략을 구체화, 테스트 케이스(절차) 개발
    테스트 환경 및 테스트 데이터에 대한 요건 정의
  • 테스트 환경 구축 및 관리 : 테스트 설계 및 구현 활동에서 정의된 테스트 환경 요건, 테스트 데이터 요건에 따라 테스트 환경, 테스트 데이터를 준비함으로써 테스트 실행 활동이 시작될 수 있도록 함

테스트 설계 및 구현

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

테스트 환경 구축 및 관리

  • 테스트 환경 준비 보고서 : 전체적인 준비 상태와 개별 환경 항목에 대한 준비 상태 기술
  • 테스트 데이터 준비 보고서 : 전체적인 준비 상태와 개별 테스트 데이터에 대한 준비 상태 기술

테스트 설계 및 구현


테스트 설계 및 구현 활동

  • 테스트 설계
  • 테스트 케이스 개발
  • 테스트 절차 개발
  • 테스트 환경 요건 명세
  • 테스트 데이터 요건 명세

 

  • 테스트 계획서에 명시된 테스트 컨텍스트, 위험 요소, 테스트 전략, 테스트 수행 계획을 바탕으로
    테스트 범위, 전략 구체화하여 테스트 설계 명세서 작성
  • 테스트 범위와 테스트 전략을 구체화하여 테스트 케이스(절차)를 개발하고 테스트 환경 항목, 테스트 데이터 정의

 

  • 테스트 계획서에는 테스트 대상에 대한 테스트 범위를 피처로 정의
  • 피처 집합을 구성하는 각 세부 피처에 대해 테스트 케이스 개발
  • 테스트 절차가 실행되기 위해서 테스트 대상이 의존하는 테스트 환경의 구축이 필요
  • 테스트 케이스가 실행되기 위해 테스트 환경과 더불어 테스트 데이터가 필요

테스트 설계

  • 피처 집합 식별 : 테스트 계획의 테스트 범위를 구성하는 피처를 바탕으로 피처 집합 결정
  • 피처 구체화 : 피처 집합에 포함된 각 피처를 구체화하여 세부 피처를 식별
  • 테스트 전략 구체화 : 테스트 계획의 위험 분석, 테스트 전략 등을 바탕으로 피처 집합 별로 테스트 전략 구체화

피처 집합 식별

  • 피처 집합은 테스트 대상에 대해 식별된 피처들의 논리적 묶음
  • 피처 집합은 이후의 테스트 활동 수행 시 독립적으로 간주

피처 집합 결정 고려 조건

  • 상호 의존적으로 확인이 필요한 피처들은 동일한 피처 집합에 포함
  • 동일 테스트 전략을 적용하는 피처들은 동일한 피처 집합에 포함
    피처 집합은 테스트 수행을 실제로 수행하는 단위가 되므로 테스트 설계 기법, 환경, 완료 조건, 중단 및 재시작 조건 등의 테스트 전략을 동일하게 적용
    상이한 테스트 전략을 적용해야 하는 피처들은 다른 피처 집합에 포함

 

  • 피처 집합을 식별한 후에 각 피처 집합별로 우선순위 부여, 우선순위는 이후 테스트 실행 활동 수행 시 활용
  • 피처 집합에 대한 우선순위는 위험 분석 결과를 바탕으로 결정

피처 구체화

  • 세부 피처는 각 피처에 해당되는 요구사항 명세서 등의 테스트 베이시스를 바탕으로 식별
  • 이름과 더불어 테스트할 사항을 구체적으로 설명(자연어, 표, 다이어그램 등의 적합한 표현법 사용)
  • 세부 피처에 대한 우선순위도 위험 분석 결과를 바탕으로 결정

테스트 전략 구체화

  • 테스트 계획에서 정의된 테스트 전략을 바탕으로 각 피처 집합별로 테스트 전략을 구체화
  • 피처 집합에 포함된 피처의 특성을 고려하여 테스트 전략 구체화
  • 테스트 계획서의 테스트 설계 기법 구체화
  • 동등 분할 : OnetoOne 동등 분할, 최소화 동등 분할, 조합 테스트 방법
  • 분류 트리 기법 : 최소화 전략, 최대화 전략
  • 경곗값 분석 : 2-value 경곗값 분석, 3-value 경곗값 분석
  • 신택스 테스트 : OnetoOne 동등 분할, 최소화 동등 분할, 조합 테스트 방법
  • 조합 테스트 : each choice 테스트, 페어와이즈 테스트, all combination 테스트, base choice 테스트
  • 상태 전이 테스트 : 상태 테스트, 단일 전이 테스트, all transition 테스트, 다중 전이 테스트
  • 시나리오 테스트 : 기본 시나리오 테스트, 기본/대안 시나리오 테스트

테스트 설계 명세서

  • 목적 : 해당 피처 집합을 통해서 확인하고자 하는 테스트 대상에 대한 목표 및 범위를 간략하게 기술
  • 우선순위 : 해당 피처 집합에 대한 우선순위 기술
  • 추적성 : 해당 피처 집합에 포함된 피처에 요구사항 명세서, 구조 설계 명세서 등 테스트 베이시스 참조사항 나열
  • 구체적 테스트 전략 : 적용하고자 하는 설계 기법, 환경 요건, 테스트 데이터 요건, 완료 기준 등 테스트 전략 나열
  • 피처 목록 : 해당 피처 집합에 포함된 피처 나열
    세부 피처 설명 : 해당 세부 피처의 내용으로서 무엇을 테스트할지 기술
    세부 피처 우선순위 : 해당 세부 피처에 대한 우선순위 기술
    세부 피처 추적성 : 세부 피처의 내용에 대한 테스트 베이시스의 해당 항목과 관련된 참조 사항 나열

테스트 케이스 개발

  • 목적 : 세부 피처를 바탕으로 테스트하고자 하는 구체적인 상황을 기술
    테스트 케이스는 확인하고자 하는 매우 구체적인 상황 의미, 구체화한 세부 피처를 바탕으로 테스트 케이스 개발
  • 추적성 : 테스트 베이시스의 해당 항목에 대한 참조를 나열
  • 우선순위 : 우선순위가 높은 테스트 케이스를 우선적으로 실행
  • 선행 조건 : 테스트 케이스가 실행되기 위한 사전 조건을 기술
  • 입력 : 입력값과 입력값을 제공하는 행위를 기술
    해당 입력값을 테스트 대상에 입력하는 행위도 정의할 필요 없음
  • 예상 결과 : 입력에 대한 예상 출력과 동작 그리고 실제 결과와의 비교 방법을 기술

테스트 절차 개발

  • 목적 : 해당 테스트 절차를 통해 테스트하고자 하는 구체적인 상황 기술
  • 우선순위 : 우선순위가 높은 테스트 절차 우선 실행
  • 시작 작업 : 포함된 테스트 케이스를 실행하기 위하여 준비할 작업 기술
  • 테스트 케이스 목록 : 테스트 절차에 포함된 테스트 케이스를 실행 순선대로 기술
  • 종료 및 정리 작업 : 테스트 실행을 종료하는 방법과 종료 후에 수행할 작업을 기술
  • 다른 테스트 절차와의 관계 : 다른 테스트 절차와의 실행 순서 측면에서 관계 기술

테스트 환경 요건 명세

 

하드웨어 및 시스템 소프트웨어 환경

  • 테스트 대상 요소가 실행될 수 있는 하드웨어 및 시스템 소프트웨어 환경을 정의
  • 테스트 대상이 동작하기 위한 운영체제, 미들웨어, 프레임워크 등 소프트웨어 플랫폼에 대해 구체적인 요건 기술
  • 시스템 테스트에서는 가능하다면 실제 운영 환경에 근접한 테스트 환경을 구성하는 것이 권장
  • 컴포넌트 테스트와 통합 테스트 레벨에서는 개발자 환경에서 테스트를 수행하는 것이 일반적

외부 연동 시스템

  • 시스템 주변 요소(연동되는 타 시스템)도 테스트 환경으로 준비되어야 함
  • 타 시스템이 주는 입력값과 입력 빈도, 처리 시간도 실제 연동할 시스템과 최대한 유사하게 구성

공존 소프트웨어

  • 하드웨어 및 시스템 소프트웨어 환경뿐만 아니라 함께 수행될 수 있는 다른 소프트웨어도 영향을 받음
  • 테스트 대상 소프트웨어와 함께 공존하는 다른 소프트웨어가 CPU, 메모리, 주변 장치 등 같은 시스템의 자원을 공유
  • 테스트 대상 시스템에 영향을 미칠 가능성이 있는 공존 소프트웨어를 결정해야 함
  • 공존 소프트웨어를 테스트 대상 소프트웨어에 영향을 미칠 수 있는 상태로 설정
  • 공존 소프트웨어와 충돌이 발생할 가능성이 있는 시나리오를 파악하고 테스트

테스트 도구

  • 효율적인 방식으로 테스트 케이스를 설계하거나 실행하기 위해 테스트 도구를 적용하는 것이 바람직
  • 조직 테스트 전략과 테스트 계획 활동에서는 사용할 테스트 도구가 식별됨
  • 테스트 실행을 자동화하기 위한 도구들은 테스트 환경을 수립할 때 고려됨

테스트 환경 요건 명세서

  • 테스트 환경 항목명 : 테스트 환경 항목의 이름, 테스트 계획 수립 활동에서 식별된 환경 항목에는 동일한 이름 사용
  • 설명 : 해당 테스트 환경 항목이 어떤 목적으로 활용되는지 기술
  • 요구사항 : 해당 테스트 환경 항목에 대한 구체적인 요건을 기술
  • 필요 시기 : 해당 테스트 환경 항목이 필요한 시점과 사용되는 기간을 기술
  • 담당자 : 해당 테스트 환경 항목을 준비하여 필요 시기에 사용될 수 있도록 책임자는 담당자를 기술

테스트 데이터 요건 명세

 

테스트 데이터 요건

  • 테스트 대상에 대한 입력 데이터 : 테스트 케이스를 실행하는 과정에서 테스트 대상에 입력되는 데이터
  • 테스트 대상의 상태 데이터 :
    테스트 케이스에 명시된 선행 조건을 충족할 수 있는 특정 상태로 테스트 대상을 설정하는데 필요한 데이터
    컴포넌트/통합 테스트에서도 테스트 대상인 컴포넌트를 특정 상태로 설정하기 위한 테스트 데이터를 결정할 필요
  • 테스트 환경 항목의 상태 데이터 :
    각 테스트 환경 항목을 테스트 케이스에서 요구하는 상태로 설정하는데 필요한 데이터
    성능/신뢰성 테스트를 수행하기 위하여 사용되는 테스트 도구를 원하는 상태로 결정하기 위한 데이터도 해당

 

테스트 데이터 요건 명세서

  • 테스트 데이터명 : 테스트 데이터 이름
  • 설명 : 해당 테스트 데이터의 역할을 쉽게 파악할 수 있도록 테스트 데이터가 어떤 목적으로 활용되는지 기술
  • 요구사항 : 해당 테스트 데이터에 관한 요건 기술
  • 초기화 필요 여부 : 테스트를 수행하는 도중에 테스트 데이터를 초기화할 필요가 있는지 기술
  • 보관 필요 여부 : 테스트가 종료된 후에 테스트 데이터 보관 및 폐기 여부를 기술하고 그 방법도 기술
  • 담당자 : 해당 테스트 데이터를 준비하여 사용될 수 있도록 책임지는 담당자를 기술

테스트 환경 구축 및 관리


  • 테스트 환경 구축 : 테스트 환경 요건 명세서에 명시된 각 테스트 환경 항목 구축
  • 테스트 데이터 준비 : 테스트 데이터 요건 명세서에 명시된 테스트 데이터를 준비

테스트 데이터 준비

  • 테스트 데이터 요건 명세서에 명시된 요구사항을 충족할 데이터를 확보하여 테스트 케이스가 실행되도록 지원
  • 준비된 테스트 데이터가 주어진 요구사항을 충족하는지 검토
  • 요약 : 현재 시점에서 테스트 데이터에 대한 준비 상태를 바탕으로 전체 테스트 데이터 준비 상황을 요약하여 설명
  • 각 테스트 데이터별 준비 상황 : 테스트 데이터 요건 명세서에 명시한 각 테스트 데이터에 대한 준비 상황 기술
    요구사항을 충족하는 테스트 데이터가 준비되었는지 기술

테스트 환경 구축

  • 테스트 환경 요건 명세서에 명시된 테스트 환경 항목을 구축하여 테스트 대상의 실행 환경을 지원
  • 테스트 환경 요건 명세서에 명시한 규격의 하드웨어를 준비
  • 주어진 버전의 제품명을 가진 시스템 소프트웨어 및 공존 소프트웨어 등을 확보해서 설치
  • 테스트 도구에는 테스트 도구를 올바르게 사용하기 위한 설정을 함
  • 준비된 테스트 환경이 테스트 환경 요건 명세서에 명시한 요구사항을 충족하는지 확인
  • 요약 : 현재 시점에서 테스트 환경 항목에 대한 준비 상태를 바탕으로 전체 테스트 환경 준비 상황을 요약하여 설명
  • 각 테스트 환경 항목별 준비 상황 : 테스트 환경 요건 명세서에 명시한 각 테스트 환경 항목에 대한 준비 상황 기술
    아직 준비가 부족하다면 그 원인을 기술하고 적용할 해결 방법, 예정 완료 일자 등도 기술

산출물 요약


피처 집합별로 목적, 우선순위, 피처 목록, 구체적 테스트 전략, 추적성 기술

 

테스트 케이스 명세서

테스트 케이스 식별자, 목적, 추적성, 우선순위, 선행 조건, 입력, 예상 결과

 

테스트 절차 명세서

목적, 우선순위, 시작 작업, 테스트 케이스 목록, 종료 및 정리 작업, 다른 테스트 절차와의 관계 기술

 

테스트 환경 요건 명세서

이름, 설명, 요구사항, 필요시기, 담당자 기술

 

테스트 데이터 요건 명세서

이름, 설명, 요구사항, 초기화 필요 여부, 보관 필요 여부, 담당자 기술

 


테스트 환경 준비 보고서

테스트 환경 준비에 대한 전체적인 요약 기술

각 테스트 환경 항목에는 개별적으로 준비 상태 기술

 

테스트 데이터 준비 보고서

테스트 데이터 준비에 대한 전체적인 요약 기술

테스트 데이터에는 개별적으로 준비 상태 기술