정의
- 제품 정보 습득과 테스트 설계 그리고 테스트 실행을 동시에 수행하는 경험 기반의 테스트 접근법.
- 탐색적 테스팅은 테스트 지식이나 시간이 부족하거나, 테스트에 필요한 사전 정보가 부족하거나 짧은 시간에 효과적으로 추가 테스트를 실행하고자 하는 경우로서 체계적인 테스트가 어려운 상황에서 사용하는 기법이다.
- 테스트를 실행하고 결과를 통해 제품을 파악한 후 테스트를 설계하고 필요하면 계획을 세우거나 수정 후 다시 테스트를 실행하며, 이러한 과정을 반복한다.
특징
- 테스터 개인의 지적 능력을 중요하게 여긴다.
- 경험 기반의 테스트 접근법이므로 테스터 개인의 능력이 중요하다. 대부분의 탐색적 테스팅은 제품 정보가 부족한 상황에서 수행되므로 휴리스틱하게 진행되며
테스트 지식과 역량을 갖춘 테스터가 결함을 잘 찾는다고 본다. - 개인의 테스트 경험과 이력을 기록으로 남겨 다른 테스터와 공유하는 것을 중요하게 여긴다. 테스트에 참여한 모든 테스터의 경험을 공유함으로서
테스터 개인이 갖춘 지적 능력을 배가시킨다.
- 경험 기반의 테스트 접근법이므로 테스터 개인의 능력이 중요하다. 대부분의 탐색적 테스팅은 제품 정보가 부족한 상황에서 수행되므로 휴리스틱하게 진행되며
- 테스트 '실행'을 중요하게 여긴다.
- 시간적 여유가 없을 때 주로 많이 수행하므로 테스트 산출물 작성보다는 테스트 실행 자체에 집중한다.
- 테스트 산출물이나 테스트 케이스 작성을 최소화하고 결함을 발견하는 노력에 더욱 집중한다.
- '결함 집중 원리' 에 충실한다.
- 테스트를 실행하면서 결함이 집중된 부분을 식별하고 그곳을 테스트하므로 집중된 결함 발견에 효과적이다.
- 테스트를 실행하면서 결함이 집중된 부분을 식별하고 그곳을 테스트하므로 집중된 결함 발견에 효과적이다.
- 필요한 절차와 원칙이 있다.
- 기본적으로 개인의 역량에 의존하는 경험 기반 테스트이기 때문에 테스터에 역량에 따라 최종 테스트 완성도와 결과가 많이 달라질 수 있다.
따라서 완성도를 높이기 위해 프로세스와 구성요소가 존재한다. - 탐색적 테스트 프로세스: 테스트 계획 → 반복 (실행/설계/세부계획) → 테스트 종료
- 탐색적 테스트 구성요소: 테스트 차터, 테스트 노트, 타임 박싱, 회고
- 기본적으로 개인의 역량에 의존하는 경험 기반 테스트이기 때문에 테스터에 역량에 따라 최종 테스트 완성도와 결과가 많이 달라질 수 있다.