Study_Note

testing method - risk based testing 본문

CSTS

testing method - risk based testing

12월7일생 2024. 3. 14. 16:28
728x90

반응형

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

위험 기반 테스트는 소프트웨어 프로젝트에서 주어진 비용과 일정 내에서 최적의 품질을 달성하기 위해 사용되는 테스트 전략입니다. 이는 테스트 비용과 자원의 제약을 고려하여 테스트 접근 방법과 범위를 결정할 때 중요한 역할을 합니다.

일정과 자원 제약 하에서 테스트를 수행하기 위해서는 어떤 부분을 테스트할 것인지 결정해야 합니다. 이는 단위 테스트, 통합 테스트, 시스템 테스트와 같은 테스트 수준에서 어떤 기능이나 모듈을 포함할지를 결정하는 것으로 이어집니다.

그러나, 테스트 대상을 선택하고 범위를 좁힘으로써 테스트 비용을 줄일 수 있지만, 이는 테스트되지 않은 부분에서 결함이 발생할 가능성을 높일 수 있습니다. 이는 소프트웨어의 품질을 저하시킬 수 있습니다.

따라서 테스트 대상을 결정할 때에는 테스트 미수행에 따른 위험을 고려해야 합니다. 즉, 테스트되지 않은 부분에서 발생할 수 있는 위험을 평가하고 그에 따라 테스트의 우선순위를 정해야 합니다. 

위험 기반 테스트는 피처에 대한 위험 분석을 통해 테스트 계획, 설계, 실행을 수행함으로써 테스트의 효율성과 품질을 향상시키는 방법론입니다. 이를 통해 주어진 자원 내에서 최대한의 가치를 실현할 수 있습니다.


 

구체적인 설명과 사용 예시를 들어보겠습니다:

  1. 위험 식별
    • 예를 들어, 금융 기관에서 새로운 금융 거래 시스템을 개발한다고 가정해봅시다. 이 시스템에서는 사용자가 금액을 이체할 때 오류가 발생하면 큰 문제가 될 수 있습니다.
    • 따라서, 이러한 오류를 식별하고 이를 "고위험"으로 지정할 수 있습니다.
  2. 위험 평가
    • 이제 이 "고위험" 오류가 실제로 얼마나 심각한지를 평가해야 합니다. 이를 통해 어떤 테스트가 가장 필요한지를 결정할 수 있습니다.
    • 예를 들어, 금융 거래 시스템에서 오류가 발생하면 고객이 신뢰를 잃을 수 있으므로 이 오류는 매우 심각한 위험으로 간주될 수 있습니다.
  3. 우선순위 설정
    • 이제 고위험 및 심각한 위험을 우선시하여 테스트를 계획합니다. 따라서, 금융 거래 시스템에서는 이체 기능에 중점을 두고 테스트를 우선적으로 수행할 것입니다.
  4. 테스트 계획 및 디자인
    • 위험을 기반으로 한 테스트 계획은 이제 이체 기능에 중점을 두고, 해당 기능을 다양한 시나리오로 테스트하는 것을 포함할 것입니다. 예를 들어, 유효한 이체, 잘못된 계정 번호를 입력한 이체, 오버로드된 이체 등을 테스트할 수 있습니다.
  5. 테스트 실행 및 평가
    • 테스트를 실행하고, 이를 통해 발견된 오류나 문제를 식별하고 수정합니다. 이러한 테스트 결과를 통해 품질 향상을 위한 조치를 취할 수 있습니다.

이와 같이 위험 기반 테스트는 소프트웨어 테스트의 효율성을 높이고 리스크를 최소화하기 위해 사용됩니다.