리스크 기반 테스트

개념
- 테스트 대상에 비해서 테스트 자원이 부족한 경우, 우선순위를 나눠서 테스트 자원을 효율적으로 분배하기 위한 테스트 전략 - 비즈니스, 기술 상의 위험을 정량적으로 측정하여 우선 순위가 높은 부분에 주어진 테스팅 자원을 집중하여 전체적인 영향을 줄이기 위한 테스트 전략 - 리스크란 “장애 발생 가능성” X “장애로 인한 영향” 으로 정의됨

I. 우선순위에 기반한 효율적 효과적 테스트 전략, 리스크 기반 테스팅의 개요

가. 리스크 기반 테스팅(Risk Based Testing)의 정의

  • 테스트 대상에 비해서 테스트 자원이 부족한 경우, 우선순위를 나눠서 테스트 자원을 효율적으로 분배하기 위한 테스트 전략
  • 비즈니스, 기술 상의 위험을 정량적으로 측정하여 우선 순위가 높은 부분에 주어진 테스팅 자원을 집중하여 전체적인 영향을 줄이기 위한 테스트 전략
  • 리스크란 “장애 발생 가능성” X “장애로 인한 영향” 으로 정의됨

 

나. 리스크 기반 테스팅의 목적

  • 프로젝트 대형화, 복잡화에 따른 위험 요인 증대
  • 고품질의 소프트웨어 생산을 위한 효율적, 효과적인 테스팅 요구 증대

 

II. 리스크 기반 테스팅의 수행 절차 및 테스팅 조건

가. 리스크 기반 테스팅 수행 절차

단계

활동

산출물

  • 발생 가능 위험의 카테고리화
  • 테스트 대상이 될 항목을 식별

Risk Item

  • 식별 위험의 정량적 분석
  • 식별 위험의 우선순위 결정

위험/영향 Matrix

  • 위험 항목별 완화, 최소화 대응 계획 수립

위험 대응 목록

  • 대응 계획에 충족하는 테스트 종료 결정, 완료 조건, 목표 수준 등 정의

Master Test Plan

  • 리스크 및 리스크에 대한 대응을 모니터링

위험관리 대장

 

나. 리스크 기반 테스팅의 성공적 수행을 위한 조건

  • Risk 정량화 : 발생 가능성 , 영향도 에 따른 차별화 된 Matrix 결정
  • 우선순위 결정 : 우선 순위 높은 테스트 집중, 파레토 법칙의 적용, 제한된 자원의 효율적 배분
  • 테스트 계획 : 우선순위 기반 하에 일정, 비용, 인력, 프로세스의 조정

 

III. 리스크 기반 테스팅 단계별 전략 및 사례

가. 리스크 식별 (Risk Identification)

  • 기능적/기술적 아이템으로 분리하여 각 아이템에 존재하는 리스크 도출
  • 요구사항에 따른 상위레벨 테스트 관련 항목 도출
  • 아키텍처에 따른 테스트 관련 항목들을 도출

  • 식별된 리스크(리스크 아이템 결정)

 

나. 리스크 분석 (Risk Analysis)

  • 리스크 요소(Risk Factors)를 결정한 후 이해관계자(Stakeholders)를 참여시켜 리스크 테이블을 작성한 후 장애 발생 가능성(Likelihood)과 장애로 인한 영향(Impact)을 식별하고 리스크 우선순위 결정
  • 각각의 리스크 요소는 상황에 맞게 변형 또는 가중치 적용

  • 리스크 테이블 완성(발생가능성, 영향도 별 정량적 기준에 의한 점수화)

 

다. 리스크 대응 계획 (Risk Planning)

  • 리스크 정보를 근거로 대처방안을 수립하는, 즉 리스크를 줄이는 '테스트'를 생성
  • 리스크 아이템 별 리스크 요소 총점을 Risk Matrix에 표시
  • 리스크 매트릭스의 STA에 해당하는 부분은 우선적으로 주어진 시간과 자원을 고려하여, 공식적인 기법을 적용한 강력한 테스팅을 진행
  • FTA에 해당하는 부분의 경우 자유롭게 시간이 허용하는 범위에서 테스팅을 진행

  • 리스크 매트릭스(Risk Matrix) 예
  • STA(Severs Test Area) : 반드시 테스트 해야 함
  • STTA(STrong Test Area) : 테스트 해야 함
  • ITA(Intensive Test Area) : 테스트 함
  • FTA(Fundamental Test Area) : 테스트하지 않을 수 있음

 

라. 테스팅 전략 수립

  • 대응 계획에 충족하는 테스트 종료 결정, 완료 조건, 목표 수준 등 정의
  • 리스크 레벨에 따른 완료 조건, 테스트 인력, 리포팅 방법 등 결정
  • 수립된 계획에 따른 테스팅 수행

 

마. 리스크 추적 (Monitor Risks)

  • 리스크 레벨 별 결함 및 대응 방안을 분석
  • 테스팅 전략을 수립할 땐 테스트 레벨 별로 차별화된 전략을 수립

  • 하위 레벨 테스트(Low Level Test)의 경우 개발 테스팅 중심으로, 기술적인 리스크를 중점적으로 다루므로 위 그림과 같은 우선순위로 강도를 조정하며 테스팅이 진행

  • 상위 레벨 테스트(High Level Test)의 경우 인수 테스팅 중심으로, 사업적 리스크를 중점적으로 다루므로 위 그림과 같은 우선순위로 강도를 조정하며 테스팅이 진행

 

댓글