테스팅 하면 떠오르는 이미지는 무엇인가요? ‘맨 나중으로 미루는 귀찮은 작업’, ‘쓸데없는 딴죽 거는 일’로 여기는 사람들도 적지 않습니다. 하지만 소프트웨어가 점점 다양한 환경에서 사용될수록 소프트웨어 테스팅의 중요성은 커지게 마련입니다.

현실에서 개발자나 테스터가 사전에 완벽한 테스트 목록을 만들기란 사실상 불가능에 가깝습니다. 앞서 말했듯이 소프트웨어는 예상치 못한 사용자와 환경에 맞닥뜨리게 마련이고 그럴 때마다 자잘한 오류를 일으키거나 사고(?)를 치기도 할 것입니다.

탐험적 테스팅은 이러한 문제에 대한 대안으로 떠오른 테스팅 방법입니다. 테스트 목록을 사전에 다 정해놓고 그에 맞춰 테스트하는 게 아니라 먼저 작은 테스트를 하나 실시하고 그 결과 얻은 내용을 바탕으로 다음 테스트를 설계, 실행하는 과정을 반복해 가는 것이죠. 그래서 탐험적 테스팅을 앞선 질문에 대한 답에서 얻은 정보를 바탕으로 정답을 좁혀가는 질문을 던지는 스무고개에 비유하기도 합니다. 이를 통해 처음에는 성겼던 테스트를 좀 더 촘촘하게 만들 수 있고 그 과정에서 예상치 못한 오류들을 발견, 수정함으로써 소프트웨어를 한층 더 탄탄하게 만들 수 있게 됩니다.

국내에서는 약간 생소한 용어일 수 있는데 탐험적 테스팅은 투입 대비 효과와 교육 효과가 높은 방법론으로 인정받고 있습니다. 이번에 소개하는 『탐험적 테스팅: 배우고 통찰하며 개선하는 소프트웨어 테스트』는 탐험적 테스팅 전문가 중 한 사람인 엘리자베스 헨드릭슨이 집필한 책으로 탐험적 테스팅의 기본 개념, 단계별 적용, 다양한 상황에서 적용해 볼 만한 팁 등의 내용을 소개하고 있습니다.

그동안 테스트를 하면서 뭔지 모를 아쉬움을 느낀 개발자, 테스터 분들에게 탐험적 테스팅에 도전해 보시기를 권합니다.

다음 서점에서 구입하실 수 있습니다.

[Yes24] [교보문고] [알라딘] [인터파크]