Study_Note

risk-based testing (RBT) 본문

CSTS

risk-based testing (RBT)

12월7일생 2024. 8. 29. 14:19
728x90

위험 기반 테스트 (risk-based testing, RBT)

소프트웨어 위험기반 테스트는 잠재적인 위험을 식별하고 그에 따라 테스트 우선순위를 결정하는 테스트 전략입니다. 즉, 소프트웨어의 가장 중요한 부분, 가장 실패할 가능성이 높은 부분 또는 가장 큰 영향을 미치는 부분을 중점적으로 테스트하는 방식입니다. 모든 기능을 균등하게 테스트하는 것이 아니라, 위험이 큰 부분에 더 많은 자원을 집중하여 프로젝트의 품질을 보장하는 것이 핵심입니다.

 

소프트웨어 프로젝트는 일반적으로 제한된 시간과 비용 내에서 완료되어야 하며, 이를 효율적으로 관리하지 않으면 프로젝트 품질이 저하될 수 있습니다. 따라서 모든 소프트웨어 기능을 테스트하는 것은 이상적이지만, 현실적으로는 불가능한 경우가 많습니다. 이를 해결하기 위해 위험 기반 테스트가 활용됩니다.

위험 기반 테스트는 테스트 대상 및 범위를 결정할 때 발생 가능한 리스크, 즉 결함이 발견되지 않았을 때 발생할 수 있는 위험성을 고려합니다. 위험이 높은 기능이나 모듈은 결함 발생 시 시스템에 치명적인 영향을 미칠 수 있기 때문에 더 철저한 테스트가 필요합니다. 반면, 위험이 낮은 부분은 테스트를 최소화하거나 생략할 수 있습니다.

이러한 방식으로 위험 기반 테스트는 테스트해야 할 우선순위를 설정하는 데 도움을 줍니다. 예를 들어, 특정 컴포넌트나 모듈이 시스템의 핵심 기능을 담당하고 있고, 결함이 발생했을 때 큰 손실을 초래할 가능성이 크다면 해당 부분에 더 많은 테스트 자원을 할당합니다. 반대로, 결함이 발생하더라도 큰 영향이 없는 부분은 테스트 범위를 줄이거나 생략하여 비용과 시간을 절약할 수 있습니다.

결국, 위험 기반 테스트는 제한된 자원 내에서 소프트웨어의 품질을 최대한 보장하기 위한 방법론입니다. 테스트하지 않은 부분에서 장애가 발생할 가능성을 고려하면서도, 리스크 수준이 낮은 부분은 제외하고 높은 부분에 집중함으로써 테스트 효율성을 극대화합니다. 이를 통해 소프트웨어의 결함 발생 가능성을 최소화하고, 최종적으로 품질을 향상하는 것이 목표입니다.


소프트웨어 개발 과정에서 모든 것을 테스트할 수 있는 자원(시간, 인력, 비용 등)은 제한적입니다. 따라서, 전체 시스템을 동일한 수준으로 테스트하기보다는 가장 위험이 높은 부분에 집중하는 것이 효과적입니다. 위험기반 테스트는 이러한 문제를 해결하기 위해 설계된 접근 방식으로, 다음과 같은 단계로 이루어집니다:

위험 식별

테스트 계획의 첫 단계는 [잠재적인 위험 요소를 식별]하는 것입니다. 위험은 기능적 결함, 성능 문제, 보안 취약점 등 다양한 형태로 존재할 수 있습니다. 이를 식별하기 위해 다음과 같은 질문을 할 수 있습니다:

  • 이 기능이 실패하면 사용자나 시스템에 어떤 영향을 미치는가?
  • 이 기능은 얼마나 자주 사용되는가?
  • 이 기능은 얼마나 복잡한가?
  • 이 기능은 얼마나 많은 의존성을 가지고 있는가?

위험 평가

각각의 위험 요소가 미치는 영향을 분석하고, 발생 확률과 그로 인한 결과의 심각성을 평가합니다. 이를 통해 각 위험 요소에 대한 우선순위를 결정합니다. 주로 "위험 수준 = 발생 가능성 × 영향도" 공식을 사용합니다.

테스트 우선순위 설정

위험 수준에 따라 테스트 활동의 우선순위를 정합니다. 위험이 높은 영역은 더 많은 테스트 시간과 자원을 할당하고, 위험이 낮은 영역은 비교적 적은 테스트로 진행됩니다. 이렇게 하면 위험이 높은 영역의 결함을 더 빨리 발견하고 수정할 수 있습니다.

테스트 수행 및 조정

테스트가 진행됨에 따라 새로운 위험이 발견되거나 기존 위험이 재평가될 수 있습니다. 따라서 위험기반 테스트는 동적인 프로세스로, 상황에 따라 테스트 계획을 조정할 수 있습니다.

장점과 단점

  • 장점
    • 자원 효율성 극대화 :
      자원을 중요한 영역에 집중할 수 있어 제한된 시간 내에 효율적인 테스트가 가능합니다.
    • 빠른 문제 발견 :
      위험도가 높은 부분을 먼저 테스트하여 치명적인 결함을 조기에 발견할 수 있습니다.
    • 프로젝트 위험 관리 :
      위험을 평가하고 관리함으로써 전체 프로젝트의 실패 확률을 줄일 수 있습니다.
  • 단점
    • 리스크 평가의 주관성 :
      위험 평가가 주관적일 수 있으며, 잘못된 위험 평가가 이루어질 경우 중요한 결함을 놓칠 수 있습니다.
    • 계획 수립의 복잡성 :
      위험 요소를 식별하고 평가하는 과정이 복잡할 수 있으며, 이를 위한 추가적인 작업이 필요합니다.
    • 리스크 기반으로 누락되는 영역 :
      상대적으로 낮은 위험으로 평가된 영역에서 예상치 못한 문제가 발생할 수 있습니다.

위험기반 테스트는 테스트 리소스의 효율적 사용중요 결함의 조기 발견을 목표로 하는 실용적인 테스트 전략입니다. 테스트의 모든 영역에 동일한 자원을 할당하는 대신, 잠재적인 위험 요소를 분석하여 중요도에 따라 테스트 우선순위를 정함으로써 프로젝트의 성공 가능성을 높입니다.

반응형

 

'CSTS' 카테고리의 다른 글

RBT - perform risk-based testing  (0) 2024.09.02
RBT - risk analysis  (1) 2024.08.30
portability test  (1) 2024.08.27
maintainability test  (0) 2024.08.26
security test  (0) 2024.08.13