📘 위험 기반 테스트 (Risk-Based Testing, RBT)
📌 개요
위험 기반 테스트(Risk-Based Testing, RBT)는
소프트웨어의 위험도를 분석하여 테스트 우선순위와 범위를 결정하는 접근 방법이다.
- 목표: 중요 위험 영역을 집중적으로 테스트하여 품질과 안정성 확보
- 장점: 시간/리소스 제한 상황에서도 효율적 테스트 가능
📌 위험 분석
1️⃣ 위험 요소 식별
- 소프트웨어 결함 가능성이 높은 영역, 중요한 기능, 외부 의존 모듈 등
- 대표 예: 결제 기능, 인증/보안, 핵심 알고리즘
📌 위험도 산정
1. 발생 가능성 등급 (Likelihood)
- 결함 발생 확률을 평가
- 예시: 높음 / 보통 / 낮음
2. 심각성 등급 (Severity)
- 결함 발생 시 시스템, 사용자, 비즈니스 영향
- 예시:
- 높음: 시스템 다운, 데이터 손상
- 보통: 기능 제한, 일부 오류
- 낮음: UI 미비, 사소한 경고
3. 긴급성 등급 (Urgency)
- 결함 해결 필요성 및 시간 압박
- 예시: 즉시 / 단기 / 장기
4. 위험 분석 예
| 위험 요소 | 발생 가능성 | 심각성 | 긴급성 | 위험도 평가 |
|———–|————|——–|——–|————-|
| 결제 모듈 | 높음 | 높음 | 즉시 | 최고 위험 |
| 보고서 출력 | 보통 | 낮음 | 장기 | 낮음 위험 |
📌 위험 기반 테스트 수행
1️⃣ 개요
- 위험 분석 결과를 기반으로 테스트 계획, 범위, 강도를 결정
2️⃣ 위험 분석 기반 테스트 계획
- 높은 위험 영역 → 테스트 우선 수행
- 낮은 위험 영역 → 선택적 테스트
3️⃣ 위험도에 따른 테스트 강도
- 고강도: 핵심 기능, 고위험 영역
- 균형: 중위험 영역, 제한된 범위 테스트
- 부가적 테스트: 저위험 영역, 최소 테스트
4️⃣ 결함 보고
- 발견 결함 → 위험 기반 우선순위에 따라 추적 및 수정
📌 테스트 계획
- 테스트 레벨 및 유형 결정
- 테스트 대상 선정 → 위험 분석 기반
- 테스트 범위 설정 → 위험도 중심
- 테스트 전략 수립 → 위험 기반 전략
- 테스트 설계 기법 적용 → 정적/동적, 명세/구조/경험 기반 등
- 테스트 완료 기준 설정 → 위험 기준 반영
📌 재테스팅과 리그레션 테스트
- 결함 수정 후 → 고위험 영역 우선 재테스팅
- 기존 기능 영향 확인 → 리그레션 테스트 수행
📌 테스트 설계, 구현 및 환경
- 피처 구체화 및 테스트 전략 구체화 → 위험도 우선순위 반영
- 테스트 환경 요건 및 구축
- 테스트 데이터 요건 및 준비 → 고위험 데이터 중심
📌 테스트 실행 및 결함 보고
- 테스트 절차 선택 → 위험도 기반 선택적/전량 실행
- 결함 기록 → 위험도, 심각성 등 메타 정보 포함
- 결함 추적 → 우선순위 기반 검증
📌 테스트 모니터링, 제어 및 종료
- 테스트 모니터링 → 진행 상황, 위험 영역 커버리지 확인
- 테스트 활동 제어 → 계획 대비 리스크 대응 조치
- 테스트 종료 보고 → 위험 기반 테스트 결과 요약, 결함 상태, 권고 사항 포함
🧠 핵심 정리
- 위험 기반 테스트 = 위험 분석 → 테스트 우선순위 결정 → 효율적 테스트 수행
- 위험 산정 → 발생 가능성, 심각성, 긴급성
- 위험도에 따른 테스트 강도 → 고강도 / 균형 / 부가적
- 테스트 계획 → 레벨, 유형, 대상, 범위, 전략, 설계 기법, 완료 기준
- 테스트 수행 → 실행, 결함 보고, 모니터링, 제어, 종료
위험 기반 테스트는 모든 기능을 동일하게 테스트하는 것이 아니라,
리소스를 효율적으로 배분하여 위험 높은 영역을 집중적으로 검증하는 전략적 테스트이다.