swtest

리스크 기반 테스트 - 리스크와 테스팅 / 리스크 식별


by Kitle · 2020. 06. 20.



(1) 리스크와 테스팅

완벽한 테스팅은 사실 상 불가능하다. 그렇기 때문에 리스크와 테스팅은 밀접한 관계를 갖는다. 시간과 인력 등의 제약사항이 많을수록 최선의 테스팅을 위해 선택과 집중이 필요하기 때문에 리스크를 고려한 테스팅이 필요하다.

이는 우선순위를 정해 전략적으로 테스트를 수행해야 함을 의미한다. 리스크가 높은 부분은 강도를 높여 제대로 테스트 해야 하고, 리스크가 낮은 부분은 투입할 자원이 부족하다면 제약사항을 고려해 적당한 수준으로 테스트 해야 한다. 

개발 프로젝트 자원이 제약된 상황에서 테스팅을 수행해야 하는 것이 현실이므로 리스크 기반 테스트 전략은 매우 중요하다.

리스크와 테스팅은 상호간의 관계를 갖는데 리스크는 테스팅의 우선순위를 결정하고 더 강력하게 테스트할 부분을 결정하고 테스트는 의도치 않은 결과를 초래하는 리스크를 줄이거나, 의도하지 않은 결과로 야기되는 영향과 손실을 줄이기 위한 목적으로 사용된다. 또한, 테스트는 새로운 리스크를 식별하도록 지원하고 어떤 리스크를 감소시킬지 결정하는데 도움을 준다.

리스크 기반 테스팅(risk-based testing)은 개발 초기부터 리스크를 낮추고 이해관계자에게 리스크 상태 정보를 제공하는 테스트 접근법이다. 제품의 리스크를 식별하고 분석하여 테스트 계획, 테스트 설계, 실행 등을 가이드 한다. 분석된 리스크는 다음과 같은 테스트 활동을 결정하는데 활용 될 수 있다.

- 사용할 테스트 설계 기법 결정

- 테스트 수행범위 결정

- 심각한 결함을 조기에 발견하기 위한 테스트의 우선순위 결정

- 테스트 일정 변경에 따른 테스트 계획 변경


위와 같은 테스트 활동 결정을 위해 분석된 리스크는 다음과 같은 요소를 고려해 리스크 기반 테스트 전략을 수립할 수 있다.

- 테스트 설계 기법

- 테스트 종료조건

- 경험과 스킬을 고려한 인력 배치

- 리그레션 테스팅

- 결함관리


여러 전략 요소에 따라 실무에서 사용되는 리스크 기반 테스트 전략은 다양하게 사용되지만, 대부분 다음과 같은 공통점이 있다.​

- 테스트 레벨별로 파악한 여러 리스크 요소에 리스크 점수(장애 발생 가능성 * 장애로 인한 영향도)를 부여한다

- 주어진 시간과 자원을 고려해 리스크가 높은 영역에 대해 우선적으로 공식적인 기법을 적용하고 경험적인 테스트도 충분히 배정해 강력하게 테스트한다

- 리스크가 낮은 영역은 시간이 허용하는 범위 내에서 비교적 자유롭게 테스트를 진행할 수 있다.


(2) 리스크 식별 (Risk identification) 

리스크 기반 테스트 전략을 세우기 전에 먼저 리스크 아이템 식별이 필요하므로,

테스트 대상의 기능 또는 모듈, 요구사항 등을 협의와 합의를 걸쳐 리스크 아이템으로 식별한다.

리스크 아이템은 리스크 분석 대상을 의미하며, 일반적으로 기능적 또는 기술적 아이템으로부터 식별할 수 있다.

즉, 요구사항 명세서, 기능 리스트, 유즈케이스, 설계 기준서,

아키텍처 등개발과정에서 생성되는 대부분의 산출물을 참조해 리스크 아이템을 도출한다.

그 후, 해당 프로젝트 이해관계자와의 브레인스토밍 등을 통해 리스크 아이템을 결정하도록 한다.

리스크 아이템은 35개 이하로 선정하는 것이 실무 적용성을 높이기에 좋으나,

숫자가 너무 많아 35개 이하로 제한하기 어려운 경우, 리스크 분석 대상을 큰 덩어리로 몇 개 나누어 적용 할 수도 있다.

리스크 아이템은 리스크 분석 과정에서 합치거나 제거해 리스크 아이템 수를 줄일 수 도 있다.

실제로 리스크 식별 후, 각 리스크 아이템에 점수를 부여해

리스크 우선순위를 결정하는 리스크 분석 단계를 거치면 리스크 아이템의 병합과 제거는 어렵지 않게 할 수 있다.

​다시 말해, 리스크 아이템을 정제할 수 있는 범위에서 진행 하되

리스크 분석 과정에서도 피드백을 받아 후에 리스크 아이템을 합치고 제거해 수를 줄이거나 업데이트 할 수 있다.

아래는 리스크 아이템 식별을 위해 사용하는 표의 예제이다.


장애 발생 가능성

(Likelihood) 

 장애로 인한 영향도

(Impact)




 리스크 아이템 1



리스크 아이템 2



리스크 아이템 3



... 



리스크 아이템 n



<리스크 아이템 식별 표>

---

다음 포스트에 계속..