나랑 now

[CSTS 요약] 5 위험 기반 테스트 본문

자격증/CSTS

[CSTS 요약] 5 위험 기반 테스트

nowj8n 2024. 1. 24. 21:14
반응형

비용과 일정 등 주어진 자원 내에서 테스트를 수행하기 위해 테스트 대상을 결정하고 테스트 범위를 결정해야 함

이때, 테스트를 수행하지 않음으로써 발생할 위험을 고려하여 위험 수준이 낮은 것들은 테스트 대상에서 제외하면서도 테스트 제외에 따른 위험 수준이 높은 것은 테스트 대상에 포함되어야 함.

위험 분석

위험 요소 식별

테스트가 필요한 기능 및 비기능적 모든 피처들을 나열하여 위험 분석 이후 분석 결과에 따라서 테스트 계획 수립

요구사항 명세서에 적힌 시스템에 필요한 기능/비기능 요구사항들을 우선 피처로 사용

요구사항 명세서의 비완전성으로 인해 필요한 요구사항이 누락될 가능성이 있다면 품질 모델 바탕으로 피처를 찾음

시스템 유형에 따라 강조되는 품질 요소가 다를 수 있으며, 나열되는 피처 후보는 이후의 위험 분석이 가능하도록 구체적으로 기술되어야 함

 

위험도 산정

발생 가능성(Likelihood): 해당 피처와 관련된 장애가 실행 시 발생할 가능성

장애 발생 가능성에서 고려해야 할 세 가지 측면:

  1. 구현 자체에 복잡성이 많다면 장애 발생 가능성도 높음
  2. 해당 피처와 관련된 결함이 소프트웨어 개발 공정에서 검출되어 제거될 수 있는지 고려
  3. 사용자가 해당 기능을 사용하는 빈도가 영향을 줄 수 있음

심각성(Severity): 장애가 발생하였을 때 사용자에게 미치는 정도

 

긴급성(Urgency): 장애 발생 시 얼마나 시급한 수정이 필요한가

많은 사용자가 빈번하게 사용할수록, 소프트웨어와 관련된 계약 및 법규 등의 제약으로 장애 발생시 긴급성에 우선순위 부여

 

위험 기반 테스트 수행

위험 분석 결과는 주어진 일정과 비용 내에서 중요한 테스트 대상을 결정하고, 집중적인 테스트 대상 피처들을 선정하는 데 사용

위험 분석 기반 테스트 계획

  • 고강도 테스트: 매우 높은 위험도를 가지는 피처들에 해당
    결함 발생 가능성이 높고, 발생시 시스템에 심각한 피해를 주어 즉각적인 수정이 요구
    해당되는 피처는 가능한 한 많은 자원을 사용하여 높은 강도로 테스트 수행
  • 균형적 테스트: 고강도 테스트보다 낮은 위험도
    프로젝트 내 주어진 예산, 일정을 고려하여 효과적이고 효율적으로 수행
    심각성, 긴급성 등을 고려하여 자원 투입
  • 부가적 테스트: 균형적 테스트보다 낮은 위험도
    다른 등급의 결함을 검출하기 위한 테스트 활동에 일부 추가적인 작업을 수행하여 검출 시도
    심각성, 긴급성 등을 고려하여 결함을 재연하거나 고립화하여 수행
  • 결함 보고: 가장 낮은 수준의 위험도
    해당 피처들을 테스트 범위에 포함시키지 않아 테스트 설계 및 구현이나 테스트 실행 활동을 수행하지 않음
    다른 테스트 수행 중 해당 등급 피처에 해당되는 결함이 발견되면 보고
    심각성, 긴급성 등을 고려하여 보고 여부 결정

 

테스트 계획

테스트 레벨/유형 결정

테스트 강도는 수행할 테스트 레벨 및 유형을 결정할 때 영향을 줌

고강도 테스트, 균형적 테스트: 해당 피처와 관련된 전체 레벨 테스트 혹은 해당 유형 테스트 수행

부가적 테스트: 부분적인 레벨 테스트 수행

 

테스트 대상 선정

위험 분석 결과 및 테스트 강도로 테스트 대상 선정 가능
높은 수준의 위험과 관련된 피처는 반드시 포함하는 반면 그렇지 못한 피처는 테스트 대상에서 제외 가능

 

테스트 범위 설정

위험 분석 결과는 특히 테스트 범위 결정에 영향을 줌

고강도 테스트: 모든 예산 범위 내에서 최대한 테스트 범위에 포함

부가적 테스트: 명시적으로 테스트 범위에 포함되지 않지만, 다른 테스트 케이스 및 테스트 절차를 활용하여 수행

 

테스트 전략

위험 수준이 높을 수록 엄격한 테스트 전략을 통해 더 많은 결함 검출

테스트 설계 기법, 테스트 종료 기준, 재테스팅 및 리그레션 테스팅 방법을 결정할 때 위험 수준 고려

  • 테스트 설계 기법: 위험 수준이 높은 피처일수록 고강도 테스트 설계 기법 적용
  • 테스트 완료 기준: 위험 수준이 높은 피처일수록 상대적으로 높은 테스트 완료 기준 적용
  • 재테스팅 및 리그레션 테스팅: 발견된 결함의 해결 검증을 위해 재테스팅을 수행할 때 검출 결함과 관련된 피처의 위험 수준 고려

 

테스트 설계/구현 및 테스트 환경

각 피처를 세부 피처로 구체화하고 피처 집합별 테스트 전략을 수립할 때 위험 수준 고려

테스트 환경 구축 활동에서는 위험 수준을 고려하여 테스트 환경을 구축하고 테스트 데이터 준비

  • 피처 구체화 및 테스트 전략 구체화: 테스트를 설계하면서 높은 위험도를 가진 피처는 세밀하게 피처를 구체화하여 많은 테스트 케이스 설계를 통해 깊이 있는 테스트 수행
  • 우선순위: 위험 수준이 높은 피처들은 피처 집합, 테스트 케이스, 테스트 절차의 우선 순위 부여
  • 테스트 환경 요건 및 구축: 위험 수준이 높은 피처는 별도 테스트 환경 구축
  • 테스트 데이터 요건 및 준비: 위험 수준이 높은 피처는 실제 사용 환경에서 수집된 테스트 데이터를 적용하여 실제 운영 상황과 비슷한 환경으로 구축
    테스트 자동화 도구를 적용하여 동일 시간 내 더 많은 테스트 수행 가능

 

테스트 실행 및 결함 보고

위험 수준이 높은 피처 관련 테스트는 우선 수행
해당 피처에 실시된 데이터에서 검출된 결함은 높은 심각도와 우선순위로 보고하여, 신속 해결&엄격한 재테스팅 수행

  • 테스트 절차 선택: 위험 수준 높은 피처에 대한 테스트 우선 수행
    위험 수준 높은 테스트 절차 우선 선택
    위험 수준이 피처 집합, 테스트 케이스, 테스트 절차에 이미 반영되었다면, 우선순위가 높은 테스트 절차를 선정하는 것은 위험 수준이 높은 피처에 대한 테스트 실행을 우선한다고 볼 수 있음
  • 결함 기록: 검출된 결함 보고시 위험 수준은 결함의 심각도와 우선순위에 반영
  • 결함 추적: 위험 수준은 보고된 결함에 대한 해결과 종결까지의 과정에서 고려됨
    우선순위가 높은 피처의 결함은 재테스팅을 수행하여 결함이 올바르게 수정되었는지 확인
    위험 수준이 낮은 경우 생략되거나 시스템 테스트 레벨에서만 재테스팅이 수행될 수도 있음

 

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

위험 수준이 높은 피처 관련 테스트일수록 상세하게 모니터링을 수행하고 신속하게 제어 활동 수행

높은 위험 수준의 피처들에 대한 테스트 결과를 별도로 정리할 수도 있음

  • 테스트 모니터링 및 테스트 활동 제어: 위험 수준 높은 피처들에 대한 테스트 진행은 별도의 현황 보고
    위험 수준이 높은 피처들에 대한 테스트 모니터링을 빈번하게 수행하게 되면 테스트 활동에 변경이 필요할 때 이를 바탕으로 신속하게 적용 가능
  • 테스트 종료 보고: 위험 수준에 따라 구분된 보고서 작성
    위험 수준이 높은 피처들에 대한 테스트 결과로서 특히, 테스트 메트릭, 결함 목록, 잔존 위험, 테스트 완료 평가 등 별도 보고
반응형