“시간이 없는데, 뭐부터 테스트해야 하죠?” QA를 위한 ‘테스트 우선순위’ 결정 가이드

“릴리즈 날짜는 코앞인데, 테스트해야 할 기능은 아직 산더미 같습니다.”

“모든 것을 완벽하게 테스트할 시간은 절대적으로 부족한데, 어떡해야 할까요?”

이것은 모든 QA가 매일 마주하는 현실적인 고민입니다. 이때 QA에게 가장 필요한 역량이 바로 ‘테스트 우선순위’를 정하는 능력입니다.

이번 글에서는 어떤 테스트부터 수행해야 할지 결정하는 전략적인 방법에 대해 알아보겠습니다.

Q. ‘테스트 우선순위’를 정하는 것이 왜 중요한가요?

한정된 자원(시간, 인력)으로 ‘최대의 효과’를 내기 위해서입니다.

모든 테스트 케이스가 동일한 중요도를 갖지는 않습니다.

어떤 기능의 버그는 서비스 전체를 마비시킬 수 있지만, 어떤 기능의 버그는 사소한 불편함에 그칠 수 있습니다.

‘테스트 우선순위’를 정한다는 것은, 실패했을 때 비즈니스에 가장 치명적인 영향을 미치는 부분부터 먼저 검증하는 것입니다.

이를 통해 최소의 노력으로 최대의 위험을 방지할 수 있습니다.

Q. 가장 대표적인 우선순위 결정 전략은 무엇인가요?

바로 ‘리스크 기반 테스팅(Risk-Based Testing)’입니다.

‘리스크 기반 테스팅’은 모든 기능을 동일하게 보는 것이 아닙니다.

‘리스크가 높은’ 기능에 테스트 노력을 집중하는 매우 효율적인 접근법입니다.

Q. 기능의 ‘리스크’는 어떻게 판단하나요?

리스크는 보통 ‘발생 확률’과 ‘영향도’라는 두 가지 축으로 평가합니다.

  • 1. 영향도 (Impact):
    • 이 기능에 버그가 발생했을 때, 우리 비즈니스나 사용자에게 얼마나 ‘치명적인’ 영향을 미치는지를 의미합니다.
    • 예시: ‘결제’ 기능에서 버그가 발생하면(높은 영향도), ‘회사 소개’ 페이지에 오타가 있는 것(낮은 영향도)보다 훨씬 심각한 문제입니다.
  • 2. 발생 확률 (Probability):
    • 이 기능에 버그가 존재할 ‘가능성’이 얼마나 높은지를 의미합니다.
    • 예시: 코드가 매우 복잡하고, 최근 변경이 잦았던 기능은 버그 발생 확률이 높습니다. 반면, 오랫동안 아무도 수정하지 않은 안정적인 기능은 버그 발생 확률이 낮습니다.

Q. ‘리스크 기반 테스팅’은 구체적으로 어떻게 적용하나요?

아래 4분면 매트릭스를 활용하여 ‘테스트 우선순위’를 명확하게 정할 수 있습니다.

  • 1순위 (높은 영향도, 높은 확률):
    • 가장 먼저, 가장 집중적으로, 가장 꼼꼼하게 테스트해야 하는 영역입니다.
    • 예시: 최근 복잡한 로직이 변경된 ‘결제’ 기능.
  • 2순위 (높은 영향도, 낮은 확률):
    • 핵심 기능이므로 반드시 테스트해야 합니다. 버그 발생 확률은 낮지만, 한번 터지면 큰일 나기 때문입니다.
    • 예시: 오랫동안 잘 동작했지만, 문제가 생기면 치명적인 ‘로그인’ 기능.
  • 3. 3순위 (낮은 영향도, 높은 확률):
    • 버그가 많을 것으로 예상되지만, 서비스에 치명적이지는 않은 영역입니다.
    • 예시: 최근 UI가 자주 바뀌고 있는 ‘마이페이지’의 프로필 사진 변경 기능.
  • 4순위 (낮은 영향도, 낮은 확률):
    • 시간이 부족할 경우, 가장 마지막에 테스트하거나 테스트를 생략할 수도 있는 영역입니다.
    • 예시: 거의 변경이 없는 ‘이용약관’ 페이지.

Q. 버그가 발견되었을 때의 우선순위는 어떻게 다른가요?

버그의 우선순위는 ‘심각도(Severity)’와 ‘우선순위(Priority)’라는 두 가지 개념으로 관리됩니다.

  • 심각도 (Severity):
    • 버그가 시스템에 미치는 기술적인 영향의 정도입니다. (주로 QA가 판단)
    • 예시: 버튼 클릭 시 서버가 다운되는 버그는 ‘높은 심각도’입니다.
  • 우선순위 (Priority):
    • 버그를 ‘얼마나 빨리’ 수정해야 하는지에 대한 비즈니스적인 중요도입니다. (주로 PM이 판단)
    • 예시: 메인 페이지의 회사 로고 이미지가 깨져 보이는 버그. 기술적인 심각도는 낮지만, 회사 이미지에 중요하므로 수정 ‘우선순위’는 높을 수 있습니다.

결론: 선택과 집중의 지혜

‘테스트 우선순위’를 정하는 것은 단순히 순서를 정하는 일이 아닙니다.

이는 비즈니스를 이해하고, 기술적 위험을 분석하여, 한정된 자원을 가장 현명하게 사용하는 전략적인 의사결정 과정입니다.

성공적인 QA는 모든 것을 완벽하게 테스트하려는 사람이 아니라, ‘가장 중요한 것’을 ‘가장 먼저’ 테스트하여 제품의 핵심 가치를 지켜내는 사람입니다.

댓글 남기기