정해진 길을 따라가는 정밀한 검증, 스크립트 테스팅의 모든 것

우리는 QA의 업무를 이야기할 때, ‘테스트 케이스’를 작성하고 그에 따라 테스트를 실행하는 모습을 가장 먼저 떠올립니다.

이처럼, 미리 상세하게 작성된 각본(스크립트)에 따라 테스트를 수행하는 모든 활동.

이것을 바로 ‘스크립트 테스팅(Scripted Testing)’이라고 부릅니다.

이번 글에서는 QA 업무의 가장 근간이 되는 ‘스크립트 테스팅’에 대해 자세히 알아보겠습니다.

Q. ‘스크립트 테스팅’, 정확히 무엇인가요?

‘스크립트 테스팅’은 사전에 문서로 정의된 ‘테스트 케이스’ 또는 ‘테스트 시나리오’를 기반으로, 정해진 절차와 예상 결과를 따라가며 수행하는 체계적인 테스트 접근법입니다.

테스터의 직관이나 즉흥적인 판단보다는, 문서화된 절차를 얼마나 정확하게 따르는지에 초점을 맞춥니다.

  • 비유:
    • 배우가 감독의 ‘대본(테스트 케이스)’에 적힌 지문과 대사를 한 글자도 틀리지 않고 정확하게 연기하는 것과 같습니다.
    • 이때 배우의 즉흥적인 애드리브(탐색적 테스팅)는 허용되지 않습니다.

Q. ‘스크립트 테스팅’은 왜 중요한가요?

‘체계성’과 ‘신뢰성’, 그리고 ‘재현성’을 보장하기 때문입니다.

  • 1. 높은 테스트 커버리지 보장:
    • 요구사항 명세서를 기반으로 작성된 ‘테스트 케이스’들을 모두 수행합니다.
    • 이를 통해, 우리가 테스트하기로 계획한 모든 기능 범위를 빠짐없이 검증했다는 것을 객관적으로 증명할 수 있습니다.
  • 2. 일관성 및 재현성:
    • 누가, 언제 테스트를 수행하더라도 항상 동일한 절차와 기준으로 테스트가 진행됩니다.
    • 이는 테스트 결과의 일관성을 보장하며, 버그가 발견되었을 때 누구나 동일한 방법으로 문제를 쉽게 재현할 수 있게 해줍니다.
  • 3. 쉬운 지식 이전:
    • 잘 작성된 ‘테스트 케이스’ 문서는 그 자체로 훌륭한 ‘사용 설명서’가 됩니다.
    • 프로젝트에 새로 합류한 신입 QA나 다른 팀원도, 이 문서만 보고 쉽게 테스트를 수행하고 제품의 기능을 이해할 수 있습니다.

Q. ‘스크립트 테스팅’의 단점이나 한계는 무엇인가요?

‘유연성 부족’과 ‘문서 작성 비용’이 가장 큰 단점입니다.

  • 1. 예상치 못한 버그 발견의 어려움:
    • 테스터는 정해진 ‘테스트 시나리오’의 길만 따라가도록 요구받습니다.
    • 이 때문에, 그 길에서 벗어난 곳에 숨어있는 예상치 못한 버그를 발견하기 어렵습니다.
    • 이는 이전에 다룬 ‘살충제 패러독스’ 현상으로 이어질 수 있습니다.
  • 2. 높은 문서 작성 및 유지보수 비용:
    • 모든 테스트 절차를 상세한 ‘테스트 케이스’로 문서화하는 데에는 많은 시간과 노력이 필요합니다.
    • 또한, 제품 기능이 변경될 때마다 관련된 모든 ‘테스트 케이스’ 문서를 함께 수정하고 관리해야 하는 부담이 있습니다.
  • 3. 테스터의 창의성 제한:
    • 테스터가 기계처럼 주어진 스크립트만 수행하게 되어, 자신의 경험이나 직관을 활용할 기회가 줄어들 수 있습니다.

Q. ‘탐색적 테스팅’과 ‘스크립트 테스팅’은 어떻게 조화를 이루나요?

두 가지는 서로를 대체하는 것이 아니라, 서로의 단점을 보완하는 완벽한 파트너 관계입니다.

  • ‘스크립트 테스팅’의 역할:
    • 서비스의 핵심 기능, 반드시 검증되어야 하는 요구사항들이 안정적으로 동작하는지 보장하는 ‘안전망’ 역할을 합니다.
    • 특히, 매번 똑같이 수행되어야 하는 ‘회귀 테스트’에 매우 적합합니다.
  • ‘탐색적 테스팅’의 역할:
    • ‘스크립트 테스팅’이라는 안전망이 놓치고 있는 구멍이나, 예상치 못한 사용자의 행동으로 인해 발생하는 버그를 찾아내는 ‘탐험가’ 역할을 합니다.
  • 이상적인 조합:
    • 핵심 기능에 대해서는 ‘스크립트 테스팅’ 기반의 자동화를 구축하여 안정성을 확보합니다.
    • 그리고 남는 시간에는 QA가 ‘탐색적 테스팅’을 통해 시스템의 더 깊은 곳을 탐험하며 품질을 높이는 것이 가장 이상적인 전략입니다.

결론: 품질 보증의 튼튼한 뼈대

‘스크립트 테스팅’은 QA 업무의 가장 기본이 되는 뼈대입니다.

이는 테스트 활동에 체계성과 신뢰성을 부여하고, 제품의 품질을 객관적으로 증명하는 기반이 됩니다.

비록 유연성이 부족하다는 단점이 있지만, ‘탐색적 테스팅’과 같은 다른 기법과 현명하게 조합할 때, ‘스크립트 테스팅’은 가장 신뢰할 수 있는 품질 보증 활동으로 빛을 발합니다.

참고 자료 (References)

댓글 남기기