본문 바로가기

💻 개발IT/기타

CSTS 요약 3 - 테스트 프로세스

1. 테스트 프로세스 개요

  • 테스트 프로세스는 조직 테스트 프로세스, 테스트 관리 프로세스, 동적 테스트 프로세스로 분류 
    1. 조직 테스트 프로세스 : 특정한 테스트 프로젝트가 아닌 조직 전체에 공통적으로 적용되는 조직 테스트 명세서 개발 및 관리
      • 활동 : 조직 테스트 명세 개발 및 갱신, 조직 테스트 명세 활용 모니터링 및 제어
      • 조직 테스트 명세서 = 조직 테스트 정책 명세서 + 조직 테스트 전략 명세서
        • 개발된 조직 테스트 명세서는 테스트 관리/동적 테스트 프로세스에 적용
        • 조직 테스트 정책 명세서 : 최상위 수준의 명세로 조직 차원의 테스트 목적과 원칙을 정의하며 구체적인 테스트 수행 방법은 언급 X
          ex) 테스트 목적과 범위, 테스트 프로세스, 테스트 조직 및 역할, 테스트 표준, 테스트 자산 관리, 테스트 프로세스 개선
        • 조직 테스트 전략 명세서 : 테스트 프로젝트에 대한 기본적인 지침으로 정책 명세서 바탕으로 구체적인 테스트 수행 방법 정의
          • 조직 테스트 전략 = 프로젝트 수준의 전략 + 개별 테스트 수준의 전략
            • 프로젝트 수준의 전략 : 모든 테스트에 공통 적용 항목
              ex) 위험관리, 테스트 선택 및 우선순위, 테스트 문서화, 형상 관리, 결함 관리, 자동화 도구 등
            • 개별 테스트 수준의 전략 (개별 테스트 = 레벨 테스트 + 유형 테스트)
              ex) 테스트 시작 및 종료/완료 조건, 테스트 독립성, 테스트 설계 기법, 테스트 환경 및 테스트 데이터, 재테스팅 및 리그레션 테스팅, 테스트 메트릭
    2. 테스트 관리 프로세스 : 조직 테스트 프로세스 기반으로 테스트 활동(레벨 테스트/유형테스트)에 대한 관리 프로세스
      • 테스트 수행 계획을 수립. 계획에 따른 테스트 수행을 모니터링하고 제어하며 테스트 종료 활동을 수행
      • 활동
        • 테스트 계획 : 테스트 대상과 범위를 식별하고 조직 테스트 프로세스를 참고하여 테스트 전략 수립
        • 테스트 모니터링 및 제어 : 동적 테스트 프로세스의 수행을 모니터링하여 테스트 현황을 파악하고 활동 제어
        • 테스트 종료 : 종료되면 산출물 관리하고 테스트 환경 정리하며 종료 보고
      • 산출물 : 테스트 계획서, 테스트 현황 보고서, 테스트 종료 보고서
    3. 동적 테스트 프로세스 : 테스트 계획서에 따라 동적 테스트를 수행하기 위한 프로세스 
      • 테스트에 대한 설계 및 구현 활동을 수행. 테스트 환경을 구축하여 테스트를 실행하고 검출된 결함을 등록 및 관리
      • 활동
        • 테스트 설계 및 구현 : 테스트 계획에서 식별된 테스트 범위와 테스트 전략에 따라 TC, 테스트 절차 등을 개발
        • 테스트 환경 구축 및 관리 : 테스트 실행을 위한 테스트 환경과 테스트 데이터 준비
        • 테스트 실행 : 테스트 절차를 실행하고 테스트 실행 결과를 기록
        • 결함 보고 : 테스트 실행 결과에 대한 분석을 바탕으로 결함을 식별하고 기록
      • 산출물 : 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 테스트 환경 요건 명세서, 테스트 데이터 요건 명세서, 테스트 환경 준비 보고서, 테스트 준비 보고서, 테스트 실행 로그, 결함 보고서, 결함 추적 보고서
    4. 정적 테스트 프로세스 : 정적 테스트를 수행하기 위한 프로세스

 

 

테스트 산출물

 

 

 

2. 테스트 계획

  • 테스트 관리 프로세스의 시작 활동
  • 동적 테스트를 효과적으로 수행하기 위해 테스트 컨텍스트를 설정하고 적절한 테스트 전략을 수립하고 테스트 수행을 위한 계획 수립
  • 조직 테스트 프로세스의 결과물을 바탕으로 수립되며 동적 테스트 프로세스 수행을 위한 제반사항을 포함
  • 테스트 계획서 작성 : 조직 테스트 정책/전략 명세서 참고. 
    • 주요 항목 : 테스트 컨텍스트 명세, 위험 분석, 테스트 전략 수립, 테스트 수행 계획 수립
      1. 테스트 컨텍스트 명세
        • 테스트 대상, 테스트 범위 등 다양한 요소를 컨텍스트로 식별하고 명세
        • 테스트 컨텍스트 : 테스트 계획 유형, 테스트 대상, 테스트 범위, 가정 및 제약사항, 이해관계자
          • 테스트 계획 유형 =  프로젝트 테스트 계획 / 개별 테스트 계획(= 레벨 테스트 계획 + 유형 테스트 계획)
          • 테스트 대상 : 대상을 기준으로 테스트 레벨 결정  ex) 시스템 전체, 개별 요소
          • 테스트 범위 : 테스트 대상의 기능/비기능 등의 특성
      2. 위험 분석
        • 테스트 수행하면서 고려해야하는 위험 요소를 식별/ 분석하여 조치 계획 수립
        • 비상 계획 수립 : 위험 요소에 대하여 실제 발생할 경우 대처 방법
        • 제품 위험 : 이해관계자의 기대를 충족하지 못하는 것
      3. 테스트 전략 수립
        • 테스트 산출물, 테스트 설계 기법, 테스트 환경 요건 및 테스트 데이터 요건 등 다양한 전략 결정
        • 테스트 전략 항목
          1. 개별 테스트 : 프로젝트 테스트를 구성하는 개별 테스트 명시
            • 개별 테스트 계획이 아닌 프로젝트 테스트 계획의 하위 요소
          2. 테스트 산출물 : 테스트 활동을 통해 작성할 산출물을 명시
            • 테스트 관리 프로세스 산출물 : 테스트 계획서, 테스트 현황 보고서, 테스트 종료 보고서
            • 동적 테스트 프로세스 산출물 : 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 테스트 환경 요건 명세서, 테스트 데이터 요건 명세서, 테스트 환경 준비 보고서, 테스트 데이터 준비 보고서, 테스트 실행 로그, 결함 보고서, 결함 추적 보고서
          3. 테스트 설계 기법 : 적용할 테스트 기법 명시
          4. 테스트 환경 요건 : 테스트 실행을 위한 테스트 환경 요소 명시
          5. 테스트 데이터 요건 : 필요한 테스트 데이터 명시
          6. 재테스팅 및 리그레션 테스팅 : 재테스팅 및 리그레션 테스팅 방법 명시
            ex) Retest-All 전략, 선택적 리그레션 테스트 전략, 테스트 최소화 전략 등 
          7. 테스팅 중단 및 재시작 조건 : 테스트 활동을 중단하거나 다시 시작하는 조건 명시
          8. 테스트 메트릭 : 테스트 활동 수행과 결과를 정량적으로 판단하는데 사용할 메트릭 명시
          9. 테스트 완료 기준 : 테스트 대상에 대해 충분한 테스트를 수행하였다고 판단할 완료 여부 기준 명시
          10. 조직 테스트 전략과의 차이점 : 조직 테스트 전략과의 차이점과 근거 기술
      4. 테스트 수행 계획 수립
        • 테스트 조직/인력과 역할, 테스트 활동 및 일정 등의 수행 계획 수립
        • 테스트 수행 계획 항목
          1. 테스트 조직/인력 및 역할 : 테스트 프로세스를 수행할 팀과 인력 계획 수립
            • 테스트 관리자 : 테스트 계획 관리, 테스트 통제, 테스트 종료 관리
            • 테스트 리더 : 테스트 계획 수립, 테스트 모니터링, 테스트 현황 보고, 테스트 종료
            • 테스트 분석가 : 위험 분석, 테스트 전략 수립
            • 테스트 설계자 : 테스트 설계, TC 개발, 테스트 절차 개발, 테스트 환경 요건 명세, 테스트 데이터 요건 명세
            • 테스트 환경 전문가 : 테스트 환경 구축, 테스트 데이터 준비
            • 테스트 수행자 : 테스트 실행, 결함 보고
          2. 테스트 활동 및 일정 : 테스트 프로세스를 구성하는 활동과 작업, 일정 계획 수립
          3. 의사소통 : 개발팀, 이해관계자와 의사소통 계획 수립
            • 의사소통 계획 : 의사소통 목적(테스트 현황 공유 필요), 방법, 일정(정기적? 특정 마일스톤?)

 

 

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

  • 테스트 설계/구현 : 테스트 계획서를 기반으로 테스트 범위/전략을 구체화하여 TC 및 테스트 절차를 개발
    • 산출물 : 테스트 설계 명세서, 테스트 케이스 명세서, 테스트 절차 명세서, 테스트 환경 요건 명세서, 테스트 데이터 요건 명세서
      • 테스트 설계 명세서 포함 항목 : 테스트 목표 및 범위, 피저 집합의 우선 순위, 추적성(테스트 베이시스에 대한 참조사항), 구체적 테스트 전략
      • 테스트 케이스 명세서 포함 항목 : TC에 대하여 목적, 우선순위, 추적성, 선행조건, 입력, 예상 결과
      • 테스트 절차 명세서 포함 항목 : 테스트 절차에 대하여 목적, 우선순위, 시작 작업, 실행 TC목록, 테스트 종료 및 정리 작업
      • 테스트 환경 요건 명세서 포함 항목 : 테스트 환경 항목 이름, 설명(어떤 목적?), 환경에 대한 구체적인 요구사항(CPU 등), 필요한 시점과 사용되는 기간, 담당자
    • 활동
      1. 테스트 설계 : 피처 집합 식별(& 집합별로 우선순위 결정), 피처 구체화, 테스트 전략 구체화(피처 집합별로)
      2. TC 개발
        • TC 항목 : 목적, 추적성, 우선순위, 선행 조건, 입력, 예상 결과
      3. 테스트 절차 개발
        • 테스트 절차 : 테스트 실행 단위로, 함께 수행될 TC의 순서로 정의
      4. 테스트 환경 요건 명세 : 테스트 계획 활동에서 식별된 테스트 환경 항목에 대한 구체적 요건을 정의하여 테스트 환경 요건 명세서에 기록
      5. 테스트 데이터 요건 명세
        • 테스트 데이터 : TC의 선행 조건과 입력에서 사용되는 데이터
          ex) 테스트 대상의 입력 데이터, 테스트 대상의 상태 데이터(선행 조건을 만족하기 위해 필요한 데이터), 테스트 환경의 상태 데이터(환경 항목을 요구하는 상태로 설정하기 위해 필요한 데이터)
  • 테스트 환경 구축/관리
    • 활동 : 테스트 환경 구축. 테스트 데이터 준비
    • 산출물 : 테스트 환경 준비 보고서, 테스트 데이터 준비 보고서

 

 

4. 테스트 실행 및 결함 보고

  • 활동
    1. 테스트 실행 활동 : 테스트 절차들을 실행하여 실행 결과를 테스트 실행 로그에 기록
      • 세부 활동 : 테스트 절차 선정 → 테스트 절차 실행 → 테스트 결과 비교 → 테스트 실행 기록 (로그)
        • 테스트 절차 선정
          • 방법 : 우선순위 이용한 방법(피처 집합/TC/테스트 절차 우선순위), 테스트 완료 기준 이용 방법(테스트 완료 기준 달성에 가장 큰 기여를 할 수 있는 절차 먼저 실행)
        • 테스트 절차 실행
          • 테스트 실행 주체
            • 컴포넌트 테스트 : 개발자, 테스터
            • 통합 테스트 : 개발자, 테스터
            • 시스템 테스트 : 개발자, 테스터, 사용자
            • 인수 테스트 : 테스터, 사용자
    2. 결함 보고 : 테스트 실행 로그를 분석하여 결함을 식별하고 기록
      • 세부 활동 : 테스트 결과 분석, 결함 기록, 결함 추적
        • 결함 분석 : 결함의 구체화 / 결함의 고립화 / 결함의 일반화
        • 결함 생명 주기 : Open → Review → Assigned → Resolved → Verified → Closed
      • 산출물 : 테스트 결함 보고서 (오류를 재연할 수 있을 정도로 테스트 절차, TC, 테스트 환경, 오류의 심각성과 긴급성 기술), 결함 추적 보고서 (개발자 및 테스터가 결함 등록 ~ 종결까지 기록)
        • 결함 보고서 포함 내용 : 결함 컨텍스트(어떤 상황에서 나타났는지), 결함 설명, 심각도, 우선순위, 결함과 관련된 위험에 대한 분석 결과, 결함 상태(Open.. 등)

 

5. 테스트 모니터링/제어 및 테스트 종료

  • 전 과정에서 계획에 일치하여 수행하는지 모니터링
  • 활동
    1. 테스트 모니터링 및 제어 :  수행 상황을 테스트 메트릭을 이용하여 파악하고 테스트 현황 보고서에 기록
      • 테스트 활동 모니터링을 수행하면서 위험 관리 작업 수행
      • 테스트 활동 제어
        • 테스트 활동 제어 유형 : 동적 테스트 활동의 시작(시작 조건 충족?), 동적 테스트 활동의 종료(종료 조건 충족?), 테스트 계획과의 차이, 위험 관리 
        • 테스트 활동 제어 방법 : 테스트 컨텍스트/전략/수행 관점의 활동 제어
      • 산출물 : 테스트 현황 보고서
        • 포함 항목 : 테스트 활동 기간, 계획 대비 진척도, 측정된 테스트 메트릭 값, 신규 및 변경 위험에 대한 분석 결과, 이후 테스트 계획 
    2. 테스트 종료 : 테스트 수행 중 생성된 산출물을 관리하고(재사용을 위해) 테스트 환경을 정리하고 테스트 종료 보고서 기록
      • 세부 활동 : 테스트 자산 관리, 테스트 환경 정리, 종료 보고
      • 산출물 : 테스트 종료 보고서
        • 포함 항목 : 테스트 요약, 계획 대비 차이점, 테스트 방해 요인 및 해결법, 최종적인 메트릭 측정치, 검출된 결함에 대한 최종 상태, 조치되지 않은 잔존 위험, 테스트 완료 여부에 대한 평가, 테스트 산출물명/버전/위치, 재사용 가능한 테스트 자산, 교훈, 개별 테스트 종료 보고서와 프로젝트 테스트 종료 보고서

 

 

6. 테스트 평가 및 개선

  • 테스트 평가
    • 유형
      1. 테스트 효과성 평가 : 테스트에서 얼마나 많은 결함을 검출했나?
      2. 테스트 효율성 평가 : 테스트 효과를 달성하는데 소요된 비용 ( = 테스트 효과성 / 테스트 비용)
    • 평가 메트릭
      • 테스트 케이스 기반 메트릭 : TC 실패율 ( = 실패한 TC / 모든 TC), TC 효율성 ( = 결함 수 (중복제외) / 모든 TC)
      • 결함 기반 메트릭 : 검출 결함 수, 검출 결함 밀도, 결함 검출 비율, 결함 구속 효율성
    • 프로세스 평가 할 수 있는 프로세스 역량 레벨
레벨 0.  미완료 수준 프로세스가 이행되지 않거나 목적을 달성하지 못함
레벨 1. 수행 수준 프로세스 목적 달성
레벨 2. 관리 수준 프로세스가 관리되고 작업 산출물이 수립/통제/유지됨
레벨 3. 확립 수준 프로세스 성과를 달성할 수 있는 정의된 프로세스를 사용
레벨 4. 예측 수준 확립된 프로세스가 제한 내에서 운용됨. 정량적 관리에 대한 요구가 식별되고 변동의 이상 원인을 식별하기 위해자료 수집 및 분석
레벨 5. 혁신 수준 예측 가능한 프로세스가 조직의 변경에 대응하기 위해 지속적으로 개선

 

반응형