“문서 없이, 그냥 한번 써볼게요!” QA의 숨겨진 무기, ‘애드혹 테스트’

우리는 지금까지 체계적인 계획과 상세한 테스트 케이스의 중요성에 대해 이야기했습니다.

이는 소프트웨어의 품질을 보증하는 가장 기본적이고 확실한 방법입니다.

하지만 때로는 이런 모든 격식을 잠시 내려놓고, QA의 경험과 직관에 의지해 자유롭게 시스템을 탐험하며 버그를 찾아야 할 때가 있습니다.

마치 잘 짜인 대본 없이 즉흥 연기를 하는 배우처럼 테스트하는 것.

이것이 바로 ‘애드혹 테스트(Ad-hoc Testing)’입니다.

Q. ‘애드혹 테스트’, 정확히 무엇인가요?

‘애드혹 테스트’는 ‘특별한 목적을 위해’라는 라틴어 ‘ad hoc’에서 유래했습니다.

이름 그대로, 정해진 계획이나 절차, 테스트 케이스 없이 즉흥적으로 수행하는 비공식적인 테스트를 의미합니다.

테스터의 순수한 직관과 경험에 의존합니다.

이를 통해 시스템의 예기치 않은 결함을 찾아내는 것을 목표로 합니다.

Q. 이전에 다룬 ‘탐색적 테스팅’과 무엇이 다른가요?

두 용어는 자주 혼용되지만, 미묘한 차이가 있습니다.

‘애드혹 테스트’가 더 즉흥적이고 비공식적이라고 볼 수 있습니다.

  • 탐색적 테스팅(Exploratory Testing):
    • 비록 상세한 테스트 케이스는 없지만, ‘테스트 목표(Charter)’와 ‘시간제한(Timeboxing)’이라는 최소한의 구조를 가집니다.
    • 테스트를 진행하며 배우고, 기록하고, 다음 테스트를 설계하는 ‘학습’ 과정이 포함됩니다.
    • 비유하자면, 목적지를 정하고 떠나는 ‘자유여행’에 가깝습니다.
  • 애드혹 테스트(Ad-hoc Testing):
    • 정해진 목표나 구조 없이, 그야말로 ‘생각나는 대로’ 자유롭게 시스템을 사용해보는 것에 가깝습니다.
    • 사전 계획이나 문서화 과정이 거의 없습니다.
    • 비유하자면, 목적지 없이 발길 닿는 대로 걷는 ‘산책’에 가깝습니다.

Q. ‘애드혹 테스트’는 언제, 왜 필요한가요?

‘애드혹 테스트’는 구조적인 테스트가 놓칠 수 있는 버그를 찾는 데 매우 효과적입니다.

정해진 길만 다니다 보면, 길가에 숨어있는 보물을 놓칠 수 있기 때문입니다.

  • 필요한 순간:
    • 시간이 극도로 부족할 때:
      • 정식 테스트를 진행하기 전에, 시스템의 전반적인 상태를 10~20분 내로 빠르게 훑어보고 싶을 때 유용합니다.
    • 정식 테스트 완료 후:
      • 모든 테스트 케이스가 통과한 후, 혹시 우리가 만든 테스트 케이스 그물망에 구멍은 없는지 최종적으로 점검하고 싶을 때 효과적입니다.
    • 새로운 관점이 필요할 때:
      • 개발자나 다른 팀원이 QA가 아닌 일반 사용자처럼 시스템을 사용해보며 피드백을 줄 때, 이는 훌륭한 ‘애드혹 테스트’가 됩니다.

Q. 효과적인 ‘애드혹 테스트’를 위한 팁이 있나요?

완전히 무계획적이기보다, 몇 가지 전략을 가지면 ‘애드혹 테스트’의 효율을 높일 수 있습니다.

  • 1. 버그가 자주 발생하는 곳 공략하기:
    • 과거 데이터를 기반으로, 유독 버그가 많았던 기능이나 코드가 복잡한 부분을 집중적으로 테스트해봅니다.
    • 경험 많은 QA는 ‘버그 냄새’를 잘 맡습니다.
  • 2. 비정상적인 데이터 입력하기:
    • 아주 긴 텍스트, 모든 종류의 특수문자, 음수, 공백 등 시스템이 예상하지 못할 만한 값을 모든 입력창에 넣어봅니다.
  • 3. 일반적이지 않은 순서로 행동하기:
    • ‘장바구니 담기 -> 상품 상세 보기 -> 로그인’ 처럼, 일반적인 사용자의 흐름을 벗어나는 행동을 의도적으로 시도해봅니다.
    • 여러 기능을 빠르게 오가거나, 뒤로 가기 버튼을 반복적으로 누르는 등의 행동도 좋습니다.
  • 4. 기록의 중요성:
    • ‘애드혹 테스트’ 중 버그를 발견했다면, 그 즉시 재현 경로를 최대한 상세하게 기록해야 합니다.
    • 즉흥적으로 테스트했기 때문에, 5분만 지나도 내가 어떻게 그 버그를 발견했는지 잊어버리기 쉽습니다. 화면 녹화도 좋은 방법입니다.

결론: 직관과 경험이라는 또 다른 무기

‘애드혹 테스트’는 체계적인 테스트 계획을 대체할 수는 없습니다.

하지만 이는 QA의 경험, 직관, 창의성이라는 강력한 무기를 활용하는 중요한 보완 활동입니다.

정형화된 테스트 케이스의 그물망을 빠져나가는 교활한 버그들을 잡아내는 것.

이것이 바로 ‘애드혹 테스트’의 진정한 가치입니다.

훌륭한 QA는 구조적인 테스트와 자유로운 테스트 사이의 균형을 맞출 줄 알아야 합니다.

댓글 남기기