[책] 탐험적 테스팅

20160930_215426

정규화되고 계획된 기존의 테스트를 넘어 실질적인 기대와 가치에 부합하는지를 확인하려면 어떻게 해야할까? 라는 질문에 대한 한 가지 답을 줍니다.

차터의 개념과 탐험적 테스팅에서의 변수의 개념을 통해 기초적인 체계를 받아들이고 나면 이어서 상세한 방법론을 제시하게 됩니다.

개인적인 소감을 적자면 탐험적 테스팅의 이론과 방법론은 인수테스트의 철학과 굉장히 닮아있습니다. 하지만 실질적으로 사용하는 요령은 외부상태관찰을 통한 디버깅 절차에서 쓰는 방법론을 적극적으로 도입하고 있습니다.

몇 년전까지 탐험적 테스팅은 각종 해킹이나 어뷰저에 대응하기 위한 방법론으로 각광받았습니다. 게임에서 해킹방법을 테스팅을 통해 찾아낸다던가 하는 거죠.
현재는 모바일로 인해 게임이 아닌 일반적인 프로그램도 유저가 굉장히 많아졌습니다. 어뷰저가 아니더라도 다양한 사용 행태와 니즈에 따라 예외적인 시나리오를 전개시키려고 하는 거죠.
물론 apk해킹이나 패치를 하는 그룹도 속속들이 늘어나서 과거 와레즈시절 이상으로 거대한 집단을 이루고 있는 실정입니다.

이런 현실에서 개발자 레벨에서 계획하고 생각한 경우의 수를 커버하는 테스트로는 한계가 명확합니다. 계획된걸 충분히 테스트했다 하더라도 전혀 충분하지 않고 불안정한 소프트웨어일 가능성이 더 높아지고 있는 것이죠.

어떻게 하면 이 점을 완화할 것인가에 대한 고민 중에 탐험적 테스팅이란 방법론이 존재하는 것 같습니다.