애드혹 테스트(Ad Hoc Testing)와 탐색 테스트(Exploratory Testing)에 대해

1. 애드혹 테스트 (Ad Hoc Testing)


💡 개념 및 특징

  • 애드혹 테스트는 사전에 계획된 테스트 케이스나 시나리오 없이, 테스터의 경험직관을 활용하여 테스트를 수행하는 기법입니다.
  • 테스터는 대상을 자유롭게 탐색하는 방식으로 테스트를 진행하고, 이 과정에서 예상치 못한 상황이나 결함(버그)을 발견하는 것에 목적을 두고 있습니다.
  • 기능에 대한 높은 이해도를 요구하지 않습니다.
    *예시) 길을 가다 깨진 부분을 발견 → 체크만 하고 원래 가려던 길을 가며 또 다른 이상한 점이 발견되면 체크(이곳 저곳 떠돌며 이슈 확인)

*애드혹 테스트는 임시  테스트로도 불립니다.

😎 장점

  • 빠른 테스트
    • 사전에 계획을 세우거나 작성하는 시간이 없으므로 테스트를 빠르게 진행할 수 있습니다.
  • 유연한 테스트
    • 테스터가 상황에 따라 유연하게 테스트를 수행하기 때문에 다양한 시나리오나 사용자 경험을 고려하여 테스트가 이루어집니다.

😥 단점

  • 상대적으로 비효율적인 테스트
    • 사전 계획 없이 테스트하는 방식이다 보니, 같은 테스트가 여러 번 실행될 경우가 발생할 수 있어 비효율적일 수 있습니다.
  • 테스트 커버리지의 한계
    • 테스트 케이스(TC)나 시나리오가 없기 때문에 모든 기능에 대한 검증이 어려울 수 있습니다.

 

 

2. 탐색 테스트 (Exploratory Testing)


💡 개념 및 특징

  • 탐색 테스트는 사전에 계획된 테스트 케이스나 시나리오 없이 테스트를 진행하지만. 테스트 중 발견되는 리스크나 예외 사항에 대해서 분석하고 파고드는 방식으로 각각의 연결된 기능에 이어서 테스트하며 커버리지를 넓혀 나가는 기법입니다.
  • 기능에 대한 이해도가 수반되어야 합니다.
    *예시) 길을 가다 깨진 부분을 발견 → 깨진 부분의 주위를 탐색해보고 추가적으로 깨지거나 갈라진 부분이 없는지 확인(발견된 이슈에서 집중적으로 탐구)

😎 장점

  • 높은 테스트 커버리지
    • 실제 사용자 경험에 가까운 시나리오를 고려할 수 있으므로 테스트 커버리지가 높습니다.
      (사용자에 따라 여러가지 루트로 특정 기능에 대해 접하고 사용하기 때문)
  • 깊이 있는 테스트
    • 테스트를 진행하면서 발견된 결함이나 시스템의 특정 부분을 보다 깊이 있게 테스트하기 위해 테스트 케이스를 설계하고 적용합니다.

😥 단점

  • 일정 관리 및 테스트 계획에 어려움
    • 사전에 계획된 테스트 케이스가 없기 때문에 테스트의 일정과 범위를 관리하기가 어려울 수 있습니다.
      (전체적인 테스트 일정을 계획하고 진행하는 방식이 아니기 때문, 테스트 방식 자체도 파고드는 경향이 강함)
  • 테스트 결과에 대한 문서화의 어려움
    • 테스트 진행 과정 자체가 중요시되기에, 발견된 결함이나 테스트 결과를 적절히 문서화하거나 통계를 내기 까다로울 수 있습니다.

 

간단히 정리하자면 애드혹 테스트는 빠르고 유연한 테스트에 적합하고, 탐색 테스트는 높은 커버리지와 깊이 있는 테스트를 통해 품질을 높이는데 강합니다.

이러한 차이로 인해 애드혹 테스트는 주로 새로운 기능이나 변경 사항을 신속하게 확인하고자 할 때 사용되며, 탐색 테스트는 복잡한 시나리오특수한 상황에서의 유용하게 사용됩니다.