-
리스크 기반 테스트테스팅 관련/테스트 2020. 6. 22. 21:26
리스크 기반 접근법
- 리스크 레벨을 조기에 낮추고 이해관계자에게 위험 상태 정보를 제공
- 제품 리스크 분석 결과 → [사용할 테스트 기법 / 테스트 레벨 & 유형 / 테스트 수행 범위 / 테스트 우선순위] 결정, 리스크 완화를 위한 다른 활동 식별
리스크 기반 테스팅
- 테스트를 보다 효율적, 효과적으로 수행하기 위한 방법
- 프로젝트 이해관계자의 집단 지식 & 통찰력을 기반으로 제품 리스크 분석
- 리스크 식별, 리스크 발생 가능성, 리스크 영향 평가
- 리스크 정보로 얻은 결과 → [테스트 계획, 명세, 테스트 케이스 준비/실행, 테스트 모니터링] 사용
리스크와 관련된 정의
- 리스크: 조직에 잠재적 손실; 미래에 부정적 결과를 가져오는 이벤트의 발생 가능성
- 리스크 레벨: 이벤트 발생 가능성 & 이벤트로 인한 영향도(피해)
- 리스크 요소: 각각의 위험 아이템의 영향(impact)/ 손실, 가능성(likelihood)/개연성(probability)을 정확한 기준을 가지고 분석하기 위한 요인
- 리스크 분석: 다양한 리스크들의 영향도와 가능성을 결정하는 것
- 리스크 등식(equation): 리스크 = 영향도 X 가능성
- 돈의 액수로 표시되며, 결과의 기대값으로 볼 수있다
- 리스크 사용: 테스팅 노력 집중, 테스팅을 언제 & 어디서 시작할지 결정, 좀 더 관심을 가져야 할 영역 식별
- 리스크 수용범위(appetite): 흔쾌히 수용할 수 있는 손실 관리의 정도
- 리스크 완화(mitigation): 리스크를 줄이는 행동, 어떤 리스크를 완화해야하는지 판단
영향도
- 깊이(Depth)
- 데미지의 심각성
- 해결방안(workarounds)의 이용가능성
- 폭(Breadth)
- 영향을 미친 시스템/사람의 수
- 데미지가 일어난 비용
영향도의 구분요소
- 재정
- 평판
- 라이센스
- 고객/유저 기반
- 고용인
- 생명
가능성 (likelihood)
발생 가능성의 요인들
- 모듈 사이즈
- 새로운(증명되지 않은) 테크놀로지 사용
- 이전 오류 내역
- 기술 또는 경험의 부족
- 동기 부족
- 부적당한 과정들
- 복잡한 feature 또는 모듈
- 새로운 모듈
- 개발자들 사이에서 이동된 features
- 유닛 테스트되지 않은 코드
- 크고 분산된 개발팀들이 사용하는 특성들
리스크 완화
- 리스크 방지
- 리스크 이동 (보험, 보상 등)
- 리스크 관리
- 손실 예방
- 위기 관리
- 트레이닝
리스크 기반 테스팅 관례적 접근
다른 모든 방법이 실패하면(예. 시간이 다 되면), 리스크는 우선순위를 정하는데 도움을 줄 수 있다
우선순위는 2가지 요소를 기반으로 정해진다
- 영향도(impact)
- 리스크가 가장 높은 영향을 미치는 feature를 테스트
- 가능성(likelihood)
- 가장 리스크가 발생할 가능성이 있는 feature를 테스트
테스팅은 리스크를 줄이는 가장 중요한 수단이다.
2가지 요소를 기반으로 테스트를 디자인하자
1. 어떤 것이 잘못될 수 있을까?
2. 어떤 것이 꼭 올바르게 작동해야만할까?
'테스팅 관련 > 테스트' 카테고리의 다른 글
API 테스트 (0) 2020.09.10 불안정(Flakey) 테스트와 예방법 (0) 2020.08.20 JaCoCo로 적합성과 코드 커버리지 분석 평가 (0) 2020.08.14 변이테스팅 (Mutation Testing) (0) 2020.05.28 구조기반(structural) 테스팅 (0) 2020.05.28