리스크 기반 테스트
태그 :
- 개념
- - 테스트 대상에 비해서 테스트 자원이 부족한 경우, 우선순위를 나눠서 테스트 자원을 효율적으로 분배하기 위한 테스트 전략 - 비즈니스, 기술 상의 위험을 정량적으로 측정하여 우선 순위가 높은 부분에 주어진 테스팅 자원을 집중하여 전체적인 영향을 줄이기 위한 테스트 전략 - 리스크란 “장애 발생 가능성” 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)의 경우 인수 테스팅 중심으로, 사업적 리스크를 중점적으로 다루므로 위 그림과 같은 우선순위로 강도를 조정하며 테스팅이 진행