본문 바로가기
Book Some place../오늘의 책이 담긴 책상자

리치보이가 주목한 오늘의 책 - 구글은 소프트웨어를 어떻게 테스트하는가

by Richboy 2013. 4. 9.

 

 

 

 

 

제임스 휘태커는 테스팅을 하면서 발생하는 이슈들에 대해 오랜 경험을 갖고 있다. 향후 클라우드로의 변화가 진행되는 10년 동안, 이 책은 단순히 구글 직원들만 읽을 것이 아니라 이 분야에서 경쟁력을 갖추고 의미 있는 성과를 이루기 원하는 모든 테스터를 위한 책이다.
- 샘 구켄하이머(Sam Guckenheimer) / 마이크로소프트 비주얼 스튜디오 전략 팀의 프로덕트 오너

구글은 수동 테스팅 활동과 자동화 테스팅을 혼합하고, 내부와 외부의 자원을 융합하고 있다. 최근에는 내부적인 활동을 보완하기 위해 외부 테스팅 기법까지도 개척하며 앱 테스팅 영역에서 꾸준히 혁신기업 역할을 해오고 있다. 혁신에 대한 욕구를 통해 구글은 새로운 문제를 해결하고 더 나은 앱을 만드는 데 박차를 가하고 있다.
이 책에서 제임스 휘태커는 빠르게 변화하는 앱 테스팅 세계에서 성공하기 위한 구글의 청사진을 제공한다.
- 도란 루베니(Doron Reuveni) / uTest의 CEO이자 창립자

이 책은 일일 릴리스부터 헤드업 디스플레이까지의 모든 판도를 바꿀 것이다. 제임스 휘태커는 미래의 소프트웨어 회사에서 표준으로 자리잡을 테스팅에 대해 전산학적으로 접근했다. 또한 우리 구글에서 사용한 프로세스와 기술 혁신에 대해 사실에 기반을 두고 재미있게 썼다. 소프트웨어 개발과 관련된 사람이라면 누구라도 꼭 읽어봐야 할 책이다.
- 마이클 바흐만(Michael Bachman) / 구글 애드센스ㆍ디스플레이 팀 수석 엔지니어 매니저

저자는 구글의 테스트 공학 사례들에 대한 마법을 글로 적어서 현대판 소프트웨어 테스팅의 카마수트라를 집필했다.
- 알베르토 사보이아(Alberto Savoia) / 구글의 엔지니어링 디렉터

클라우드에 코드를 배포하고, 많은 고객들이 행복할 수 있는 고품질의 제품을 전달할 전략을 세우길 원한다면 이 책에서 제시하는 방법들을 연구하고 심각하게 고민해봐야 한다.
- 필 왈리고라(Phil Waligora) / 세일즈포스닷컴(Salesforce)

제임스 휘태커는 테스팅 분야에서 많은 이들의 멘토이자 영감을 주는 사람이다. 그의 공헌이 없었더라면 지금의 기술이나 기법들도 없었을 것이다. 나는 아직도 그의 추진력과 열정, 유머에 경외심을 표한다. 그는 IT 업계의 커다란 산이며, 이 책은 IT에 종사하는 사람이라면 누구나 읽어봐야만 하는 필독서다.
- 스튜어트 녹커스(Stewart Noakes) / 영국의 TCL Group Ltd. 회장

나는 마이크로소프트에서 제임스 휘태커와 함께 근무했었고, 지금도 함께 근무할 때의 그를 그리워하지만, 구글에서도 훌륭한 일을 할 것이라고 생각했다. 제임스, 제이슨 아본, 제프 카롤로는 혁신적인 테스팅 아이디어, 실제 사례, 그리고 구글 테스팅 장비에 대한 통찰 등을 이 책에 담았다. 테스팅과 품질에 대한 구글의 접근법이 궁금한 사람이나 테스팅에 대한 새로운 아이디어를 얻기 바라는 마음이 조금이라도 있다면 이 책에서 많은 것을 얻을 수 있을 것이다.
- 앨런 페이지(Alan Page) / 마이크로소프트 엑스박스 팀, 『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다』의 저자

구글의 혁신적인 소프트웨어 테스팅 방법을 배우다!
 
『구글은 소프트웨어를 어떻게 테스트하는가』에서 테스팅 전문가인 저자들은 구글 현직 테스팅 전문가들과의 사내 인터뷰를 통해, 구글의 소프트웨어 테스팅 기법과 도구와 최신 사례를 소개하고, 품질을 중시하는 구글의 테스팅 문화와 철학은 무엇인지를 낱낱이 밝힌다. 위험 분석, 테스트 계획, 탐험적 테스트, 블랙 박스, 화이트 박스, 인수 테스팅 등에 관한 실무적이고 실용적인 기술과 유용한 피드백을 얻고, 이슈를 추적하기 위한 툴의 선택과 제작법을 알려준다.

 

이 책은 직무 역할에 기반을 두고 작성됐다. 1장에서는 구글 품질 프로세스에 대한 모든 개념, 프로세스, 복잡다단한 사항들에 대해 설명하고, 모든 직군을 살펴본다. 1장은 꼭 읽어야 한다.

나머지 각 장은 어떤 방식으로 읽어도 무방하다. 우리는 먼저 테스트 역할에서 SET 또는 소프트웨어 엔지니어에 대해 이야기한다. 그것이 현재 구글 테스팅의 시작이기 때문이다. SET(테스트 소프트웨어 엔지니어)는 기술적인 테스터이고, 2장에서 다루는 자료들은 기술적인 내용이지만, 누구나 주요 개념을 잡을 수 있는 수준으로 작성됐다. 3장에서는 다른 주요 테스팅 역할인 TE, 즉 테스트 엔지니어에 대해 설명했다. TE의 업무가 매우 방대하고 구글에서 TE는 제품 주기에 많은 역할을 하기 때문에 3장은 매우 길다. TE는 기존의 많은 테스터들이 상상할 수 있는 친숙한 역할로, 이 책을 읽는 대부분의 독자들이 적용할 수 있고, 책에서 가장 많이 읽히는 부분일 것이다.

4장에서는 테스트 관리와 구글 테스트 역사에서 중요한 역할을 하거나 구글 제품에서 핵심 역할을 한 구글의 핵심 인재들과의 인터뷰를 다룬다. 이 인터뷰들은 구글과 비슷한 테스팅 프로세스나 팀을 만들고 싶은 사람들에게 매우 흥미로운 내용일 것이다.

5장은 관심이 있는 독자라면 절대 놓치지 말아야 할 부분이다. 저자 제임스 휘태커는 구글 테스팅이 꾸준히 발전하는 방법에 대해 통찰력을 제공하고, 구글 및 대기업이 가야 할 테스팅 방향에 대해 이야기한다. 저자의 큰 통찰력을 얻을 수 있을 것이며, 조금은 충격을 받을지도 모르겠다.


★ 저자 서문 ★

패트릭 코플랜드가 이 책을 쓰자고 제안했을 때 망설였는데, 역시 내 생각이 맞았다. 사람들은 내가 이 책을 쓰기에 가장 적합한 구글러인지에 대한 의문을 품었고(그들은 그랬다), 정말 많은 사람들이 관여하고 싶어 했다(이 또한 사실이다). 하지만 의문의 주된 이유는, 이전에 내가 저술한 모든 책들이 초보자를 위한 책이었기 때문이었다.

「How to Break」 시리즈나 『탐색적 테스팅(Exploratory Testing)』 책들은 세부적이고 완결된 내용이었다. 그러나 이 책은 달랐다. 독자들은 이 책을 한 번에 읽고 끝낼 수도 있겠지만, 구글이 테스팅 사례를 구성하는 크고 작은 작업들을 실제로 어떻게 수행했는가에 대한 참고서 이상의 의미를 지닐 수도 있다. 보편적으로, 초보자들보다는 협업하는 환경에서 소프트웨어를 테스트하는 사람들이 구글의 프로세스와 그들이 사용해본 프로세스를 비교할 수 있는 기준을 갖고 있기 때문에, 이 책에서 더 많은 영감을 얻을 것이다. 아마도 숙련된 테스터, 관리자, 경영진이 재빠르게 흥미로운 주제를 찾아 몇몇 특정 작업에 대해 구글이 어떻게 행동하는지에 대해 해당 절들만 읽을 것이다. 그리고 이런 스타일은 그동안 내가 써왔던 저술 스타일은 아니다!

지금까지 출판 경험이 없는 두 명의 저자와 함께 책을 출간하게 됐다. 두 명 모두 매우 훌륭한 엔지니어이고, 나보다 더 오래 구글에서 근무했다. 제이슨 아본의 직함은 테스트 엔지니어지만, 그의 마음가짐은 여느 기업가 못지않고, 이 책의 테스트 엔지니어 장에서 다룬 많은 생각과 툴들에 미친 그의 영향은 엄청나게 크다. 서로의 경험을 교류하면서 우리 둘은 변했다. 제프 카롤로는 개발자에서 테스터로 업무를 변경한 사람이고, 내가 여태까지 만난 중에 최고의 테스트 개발자다. 제프는 ‘자동화 길을 걸어오면서’ 성공한 몇 안 되는 사람 중 하나다. 그의 테스트 코드는 매우 잘 만들어져서 처음 작성한 그 상태 그대로 두어도 추가 수정 없이 어느 팀이나 수행할 수 있게 작성돼 있다.

이 두 명은 매우 뛰어난 사람들이었고, 우리는 이 책을 한 목소리로 쓰기 위해 많은 노력을 쏟았다.

많은 구글러들이 게스트로서 자료를 제공해줬다. 한 명이 작성한 문서와 주제들인 경우, 글 앞머리에 기고자를 밝혔다. 또한 우리가 수행한 테스트 방법에 막대한 영향을 준 여러 명의 핵심 구글러들과 인터뷰를 하기도 했다. 구글 테스팅에 관여했지만 책에서 언급하지 않은 저자는 아마 30명 정도가 될 것이다! 모든 독자들이 모든 인터뷰 내용에 관심을 갖지 않을 수 있으므로, 본문에 내용을 명확하게 언급해 독자들이 읽거나 건너뛸 수 있게 했다.

아낌없이 지원해준 모든 분께 감사를 드리고, 우리가 작성한 내용이 그들이 수행하는 업무보다 부족하다면 어떤 비난도 받아들이겠다. 글만으로는 그들의 뛰어난 재능을 모두 표현하기에는 부족했다.

즐겁게 읽고, 즐겁게 테스트하고, 항상 여러분이 찾고자 하는 버그를 찾고 수정하길 바란다.

- 워싱톤 주 커클랜드에서
제임스 휘태커
제이슨 아본
제프 카롤로

★ 옮긴이의 말 ★

소프트웨어 테스팅 분야는 국내에서는 그동안 중요성이 많이 부각되지 않았고, 전문가도 많이 없는 실정이다. 당연히 컨설팅 받을 만한 곳도 많지 않고 대부분 피상적이거나 교과서적인 테스팅에 거치게 되는 경우가 많았다. 게다가 버그 파악의 많은 부분을 아쉽게도 최종 사용자의 피드백에 의존하고 있기도 하다. 이런 면에서 이 책을 통해 세계 최대의 소프트웨어 회사라 할 수 있는 구글의 고민과 사례를 엿볼 기회가 생겼다는 것은 매우 흥미롭다.

저자들은 테스팅은 이래야만 한다라는 것을 말하고자 하는 것이 아니라, 우리는 이렇게 테스트하고 있다는 것을 말하고 있다. 그래서 어쩌면 기대 했던 것보다는 실망할 수도 있으며, 너무 구글 상황에 맞는 테스트 사례들이라 얻어갈 것이 많지 않다고 느낄 수도 있다.

하지만, 지금 직장이 구글과 비슷한 환경이나 문화가 아니어서 직접적으로 그들의 사례를 적용할 수는 없을 지라도, 고품질의 소프트웨어를 빠르게 릴리스하는 구글의 개발과 테스팅에 관한 아이디어와 사례, 조직 구성으로부터 많은 것들을 배울 수 있을 것이다. 특히, 구글이 어떻게 소프트웨어 테스팅에 관해서 중요하게 다루게 되었는지에 대한 히스토리와 실무자들의 여러 인터뷰들, 어떻게 하기 어려운 테스트들을 테스트 가능하게 만들기 위해 노력했는지에 대한 이야기와 그 결과인 테스트 프레임워크, 툴들, 탐험적 테스팅을 위한 투어 방법론, 10분 테스트 계획법, 크라우드소싱을 이용한 테스팅 등의 이야기를 통해 독자들은 분명 많은 아이디어를 얻어갈 수 있을 것이다.

책을 번역하는 중에 저자 중의 한 명인 제임스 휘태커가 구글을 관두고 다시 전 직장인 마이크로소프트로 돌아갔다. 그는 자신이 입사했던 구글은 직원들에게 혁신의 동기를 부여하는 회사여서 열정적으로 임할 수 있었는데, 자신이 떠나는 구글은 한 가지 목적에만 집중하는 광고회사였다고 블로그에 밝힌 바가 있다. 그가 떠난 이유야 어찌되었든 간에, 그와 구글의 테스팅 전문가들이 그동안 이룩해놓은 테스팅 분야의 성과는 이 책에 고스란히 담겨있다고 할 수 있다.