사실 이 책의 제목만 보았을 때는 책의 내용이 잘 감이 오지 않았습니다. 테스팅이라는 것 자체의 개념이 워낙 넓은 데다가 개발자가 보는 테스트와 QA가 보는 테스트의 관점이 상당히 틀리고 제가 있는 곳에도 QA가 있지만 업무보면서 느낀 QA의 테스트 범위와 다른 외부에서 만난 QA들의 테스트의 범위도 상당히 다르고 접근하는 지식의 범위도 크게 달랐습니다. 이렇게 테스트라는 것 자체의 범주가 너무 크긴 합니다.
제목만 보고 어떤 테스팅인가 하는 궁금증이 있었는데 막상 책을 보고 나니 이 책에서 얘기하는 테스팅은 개발자관점에서 알아야 할 모든 테스트에 대해서 얘기해주고 있었습니다.(제목이 얘기하는 그대로라고 할 수 있습니다.) QA관점에서의 테스트와도 겹치기는 할텐데 QA관점의 테스트가 어떤건지 저로서는 잘 모르겠지만 개발자에게 필요한 모든 테스트는 여기에 다 담겨있다고 할 수 있습니다.
테스트라는 것을 전체적으로 보면 개발자가 개발을 하면서 JUnit으로 단위테스트를 하고 그렇게 만들어진 웹페이지를 Selenium을 통해서 UI테스트를 하고 HttpUnit을 통해서 웹리퀘스트를 테스트하고 PMD나 FindBugs같은 툴을 이용해서 코드를 분석합니다. 그리고 Hudson을 가지고 개발한 소스를 지속적으로 통합하고 성능및 보안테스트를 거친 다음에 FitNess를 이용해서 인수테스트를 거칩니다. 이 모든 과정은 개발자가 개발은 한 뒤에 프로젝트를 완료해서 고객에게 넘길 때까지 필요한 모든 테스트과정(제가 아는 범위내에서는)이 다 담겨있다고 할 수 있습니다.
사실 이런 테스트들은 하나하나가 책 주제로 될 정도로 많은 내용이기 때문에 이 책 한권에서 전체적인 사용법을 모두 알려주길 기대하는 것은 좀 무리가 있다고 생각됩니다. 대신에 이 책은 개발과정중에서 테스트가 이뤄지는 전체 흐름을 잡기에 아주 좋다고 생각됩니다. 유닛테스트나 회귀테스트등 개발을 공부하면서 많은 테스트들에 대해서 듣게 되지만 전체적인 개념을 잡는데는 어려움이 있었는데 이 책을 통해서 어느 테스트가 언제 왜 필요한지를 설명해 주기 때문에 이해하기도 쉽고 프로젝트가 일반적으로 개발되는 흐름에 따라 설명해 주고 있기 때문에 굳이 외우려고 하지 않아도 받아들이는데 어려움이 없는 것 같습니다. 각각의 테스팅에 대해서 구체적인 사용법을 알려주는 것 보다는 전체적인 테스팅에 대한 개념을 알려주는 책이라고 생각하고 있고 전체적인 흐름에 대한 개념을 이해할 수 있어서 각 세부테스팅에 대해서 공부할때도 이해하는데 도움이 될 것 같습니다.
단순히 개념만 설명하는 것은 아니고 간단하지만 설치와 설정을 통해서 사용해 볼 수 있도록 구체적인 설명도 어느정도 해주고 있어서 쉽게 따라해 볼수 있습니다. 물론 실제 업무에 적용해서 어려가지를 해보려면 추가적으로 많은 공부를 해야겠지만요. 저는 뭔가 공부할 때 전체 개념을 잡고 들어가야 이해가 빠르게 되는 편이라 그렇게 느낀것일 수도 있기는 한데 약간은 어려울 수도 있는 테스팅에 대해서 쉽게 설명해 주고 있어서 개념을 잡는데 많이 도움이 된 책이었습니다.
좋쿤!!! (토스3은 어쩔? ;;;)
이제 13장만 읽으면 돼! ㅋㅋㅋㅋ