이미 소장하고 있다면 판매해 보세요.
|
1장 구글 소프트웨어 테스팅 개요
___품질 ≠ 테스트 ___역할 ___조직적 구조 ___기기, 걷기, 뛰기 ___테스트 종류 2장 테스트 소프트웨어 엔지니어 ___SET에 대한 이야기 ______개발과 테스트 작업 흐름 ______SET란? ______프로젝트의 초기 단계 ______팀 구조 ______설계 문서 ______인터페이스와 프로토콜 ______자동화 계획 ______테스트 가능성 ______SET 작업 흐름: 예제 ______테스트 수행 ______테스트 크기 정의 ______공유 인프라스트럭처에서 테스트 크기 사용 ______테스트 크기에 따른 이점 ______테스트 수행에 대한 요구 사항 ___테스트 인증 ______테스트 인증 프로그램 창시자와의 인터뷰 ___SET들과의 면접 ___툴 개발자 테드 마오와의 인터뷰 ___웹 드라이버의 창시자 사이몬 스튜어트와의 인터뷰 3장 테스트 엔지니어 ___사용자를 대변하는 테스트 역할 ___TE에 대한 이야기 ______테스트 계획 ______리스크 ______테스트 케이스에 대한 이야기 ______버그에 대한 이야기 ______TE 채용 ______구글의 테스트 리더십 ______유지 관리 모드 테스팅 ______퀄리티 봇 실험 ______BITE 실험 ______구글 테스트 분석 ______무료 테스팅 업무 흐름 ______외부 업체 ___구글 문서도구의 TE 린제이 웹스터와의 인터뷰 ___유튜브 TE 애플 초우와의 인터뷰 4장 테스트 엔지니어 매니저 ___TEM에 대한 이야기 ___프로젝트와 사람 모으기 ___영향력 ___지메일 TEM 앵킷 메타와의 인터뷰 ___안드로이드 TEM 훙 당과의 인터뷰 ___크롬 TEM 조엘 히노스키와의 인터뷰 ___테스트 엔지니어링 디렉터 ___검색과 지리 테스트 디렉터 쉘튼 마와의 인터뷰 ___엔지니어링 툴 디렉터 아쉬쉬 쿠마와의 인터뷰 ___구글 인디아의 테스트 디렉터 수제이 사니와의 인터뷰 ___엔지니어링 매니저, 브래드 그린과의 인터뷰 ___제임스 휘태커와의 인터뷰 5장 구글 소프트웨어 테스팅의 향상 ___구글 프로세스의 심각한 결함 ___SET의 미래 ___TE의 미래 ___테스트 디렉터와 매니저의 미래 ___테스트 인프라스트럭처의 미래 ___결론 부록 A 크롬OS 테스트 계획 ___개요 ___리스크 분석 ___빌드 베이스라인에 따른 테스트 ___매일 마지막으로 성공한 테스트 ___릴리스에 따른 테스팅 ___수동 테스트와 자동화 테스트 ___개발과 테스트 품질 초점 ___릴리스 채널 ___사용자 입력 ___테스트 케이스 저장소 ___테스트 대시보드 ___가상화 ___성능 ___스트레스, 장시간 수행, 안전성 ___테스트 수행 프레임워크(Autotest) ___OEM ___하드웨어 랩 ___E2E 팜 자동화 ___브라우저 앱매니저 테스팅 ___브라우저의 테스트 가능성 ___하드웨어 ___타임라인 ___주요 테스트 드라이버 ___관련 문서 부록 B 크롬에 대한 테스트 투어 ___쇼핑 투어 ___학생 투어 ______테스트 제안 영역 ___국제 전화 투어 ______테스트 제안 영역 ___랜드마크 투어 ______크롬에서 제안하는 랜드마크 ___올빼미 투어 ______테스트 제안 영역 ___장인 투어 ______크롬의 툴 ___나쁜 이웃 투어 ______크롬OS에서의 나쁜 이웃 ___개인화 투어 ______크롬을 커스트마이즈하는 방법 부록 C 툴과 코드에 대한 블로그 포스트 ___버그와 중복 노동을 없애기 위한 BITE의 사용 ___퀄리티 봇 풀어 놓기 ___RPF: 구글의 기록/재생 프레임워크 ___구글 테스트 분석기 - 현재 오픈소스 ______이해 가능함 ______빠름 ______행동 가능함 ______일관된 가치 |
|
패트릭 코플랜드가 이 책을 쓰자고 제안했을 때 망설였는데, 역시 내 생각이 맞았다. 사람들은 내가 이 책을 쓰기에 가장 적합한 구글러인지에 대한 의문을 품었고(그들은 그랬다), 정말 많은 사람들이 관여하고 싶어 했다(이 또한 사실이다). 하지만 의문의 주된 이유는, 이전에 내가 저술한 모든 책들이 초보자를 위한 책이었기 때문이었다.
?How to Break? 시리즈나 『탐색적 테스팅(Exploratory Testing)』 책들은 세부적이고 완결된 내용이었다. 그러나 이 책은 달랐다. 독자들은 이 책을 한 번에 읽고 끝낼 수도 있겠지만, 구글이 테스팅 사례를 구성하는 크고 작은 작업들을 실제로 어떻게 수행했는가에 대한 참고서 이상의 의미를 지닐 수도 있다. 보편적으로, 초보자들보다는 협업하는 환경에서 소프트웨어를 테스트하는 사람들이 구글의 프로세스와 그들이 사용해본 프로세스를 비교할 수 있는 기준을 갖고 있기 때문에, 이 책에서 더 많은 영감을 얻을 것이다. 아마도 숙련된 테스터, 관리자, 경영진이 재빠르게 흥미로운 주제를 찾아 몇몇 특정 작업에 대해 구글이 어떻게 행동하는지에 대해 해당 절들만 읽을 것이다. 그리고 이런 스타일은 그동안 내가 써왔던 저술 스타일은 아니다! 지금까지 출판 경험이 없는 두 명의 저자와 함께 책을 출간하게 됐다. 두 명 모두 매우 훌륭한 엔지니어이고, 나보다 더 오래 구글에서 근무했다. 제이슨 아본의 직함은 테스트 엔지니어지만, 그의 마음가짐은 여느 기업가 못지않고, 이 책의 테스트 엔지니어 장에서 다룬 많은 생각과 툴들에 미친 그의 영향은 엄청나게 크다. 서로의 경험을 교류하면서 우리 둘은 변했다. 제프 카롤로는 개발자에서 테스터로 업무를 변경한 사람이고, 내가 여태까지 만난 중에 최고의 테스트 개발자다. 제프는 ‘자동화 길을 걸어오면서’ 성공한 몇 안 되는 사람 중 하나다. 그의 테스트 코드는 매우 잘 만들어져서 처음 작성한 그 상태 그대로 두어도 추가 수정 없이 어느 팀이나 수행할 수 있게 작성돼 있다. 이 두 명은 매우 뛰어난 사람들이었고, 우리는 이 책을 한 목소리로 쓰기 위해 많은 노력을 쏟았다. 많은 구글러들이 게스트로서 자료를 제공해줬다. 한 명이 작성한 문서와 주제들인 경우, 글 앞머리에 기고자를 밝혔다. 또한 우리가 수행한 테스트 방법에 막대한 영향을 준 여러 명의 핵심 구글러들과 인터뷰를 하기도 했다. 구글 테스팅에 관여했지만 책에서 언급하지 않은 저자는 아마 30명 정도가 될 것이다! 모든 독자들이 모든 인터뷰 내용에 관심을 갖지 않을 수 있으므로, 본문에 내용을 명확하게 언급해 독자들이 읽거나 건너뛸 수 있게 했다. 아낌없이 지원해준 모든 분께 감사를 드리고, 우리가 작성한 내용이 그들이 수행하는 업무보다 부족하다면 어떤 비난도 받아들이겠다. 글만으로는 그들의 뛰어난 재능을 모두 표현하기에는 부족했다. 즐겁게 읽고, 즐겁게 테스트하고, 항상 여러분이 찾고자 하는 버그를 찾고 수정하길 바란다. - 워싱톤 주 커클랜드에서 제임스 휘태커 제이슨 아본 제프 카롤로 ---「저자 서문」 중에서 소프트웨어 테스팅 분야는 국내에서는 그동안 중요성이 많이 부각되지 않았고, 전문가도 많이 없는 실정이다. 당연히 컨설팅 받을 만한 곳도 많지 않고 대부분 피상적이거나 교과서적인 테스팅에 거치게 되는 경우가 많았다. 게다가 버그 파악의 많은 부분을 아쉽게도 최종 사용자의 피드백에 의존하고 있기도 하다. 이런 면에서 이 책을 통해 세계 최대의 소프트웨어 회사라 할 수 있는 구글의 고민과 사례를 엿볼 기회가 생겼다는 것은 매우 흥미롭다. 저자들은 테스팅은 이래야만 한다라는 것을 말하고자 하는 것이 아니라, 우리는 이렇게 테스트하고 있다는 것을 말하고 있다. 그래서 어쩌면 기대 했던 것보다는 실망할 수도 있으며, 너무 구글 상황에 맞는 테스트 사례들이라 얻어갈 것이 많지 않다고 느낄 수도 있다. 하지만, 지금 직장이 구글과 비슷한 환경이나 문화가 아니어서 직접적으로 그들의 사례를 적용할 수는 없을 지라도, 고품질의 소프트웨어를 빠르게 릴리스하는 구글의 개발과 테스팅에 관한 아이디어와 사례, 조직 구성으로부터 많은 것들을 배울 수 있을 것이다. 특히, 구글이 어떻게 소프트웨어 테스팅에 관해서 중요하게 다루게 되었는지에 대한 히스토리와 실무자들의 여러 인터뷰들, 어떻게 하기 어려운 테스트들을 테스트 가능하게 만들기 위해 노력했는지에 대한 이야기와 그 결과인 테스트 프레임워크, 툴들, 탐험적 테스팅을 위한 투어 방법론, 10분 테스트 계획법, 크라우드소싱을 이용한 테스팅 등의 이야기를 통해 독자들은 분명 많은 아이디어를 얻어갈 수 있을 것이다. 책을 번역하는 중에 저자 중의 한 명인 제임스 휘태커가 구글을 관두고 다시 전 직장인 마이크로소프트로 돌아갔다. 그는 자신이 입사했던 구글은 직원들에게 혁신의 동기를 부여하는 회사여서 열정적으로 임할 수 있었는데, 자신이 떠나는 구글은 한 가지 목적에만 집중하는 광고회사였다고 블로그에 밝힌 바가 있다. 그가 떠난 이유야 어찌되었든 간에, 그와 구글의 테스팅 전문가들이 그동안 이룩해놓은 테스팅 분야의 성과는 이 책에 고스란히 담겨있다고 할 수 있다. ---「옮긴이의 말」 중에서 |
|
소프트웨어 개발은 어렵다. 소프트웨어 테스트 역시 어렵다. 웹 전반에 걸쳐 개발과 테스트에 대한 이야기를 할라치면 누구든 구글을 언급한다. 구글과 같은 회사들이 대규모의 테스팅을 어떻게 처리하는지 인터넷에서 관심 있게 찾아본 적이 있다면 여러분은 제대로 된 책을 만난 것이다.
매일 구글은 분산된 수백만의 소스 파일들에서 수억의 코드 라인을 테스트하고 릴리스한다. 수십억의 빌드 작업이 수백의 자동화된 테스트를 즉각적으로 수행해 매일 브라우저에서 수억 번 동작한다. 한 해 동안 운영 시스템에서 빌드, 테스트, 릴리스가 이뤄진다. 브라우저는 매일 빌드되고, 웹 애플리케이션은 끊임없이 출시, 배포된다. 2011년에는 구글플러스(Google+)의 100개 기능이 불과 100일 만에 출시됐다. 이것이 구글의 규모이자 구글의 스피드로, 곧 웹 그 자체의 규모와 매한가지이며, 바로 이 책에서 설명하는 테스팅 솔루션이다. 이 책에서는 이러한 인프라스트럭처가 어떻게 계획되고 구현되고 유지 보수되는지 설명한다. 또한 개념과 구현을 개발하는 데 중요한 수많은 인력에 대해 소개하고, 결과를 만들어내는 인프라스트럭처에 대해 이야기한다. 하지만 이 방법만이 유일한 길은 아니다. 구글이 오늘날 여기까지 온 과정은 우리가 테스트를 할 때 사용했던 많은 기술들만큼 흥미롭다. 6년 전 구글은 우리가 일해본 여러 회사들과 크게 다르지 않았다. 테스트는 주요 핵심 영역이 아니었다. 테스팅 분야에서 일하는 사람들은 별다른 인정을 받지 못했고 야근도 잦았다. 테스트는 수작업이 매우 많은 업무였기에, 자동화에 소질이 있는 사람들은 좀 더 큰 ‘영향’을 미칠 수 있는 개발에 재빨리 투입됐다. 오늘날 구글에서 ‘생산성 혁신(Engineering Productivity)’ 팀은 엔지니어링보다 영웅적인 활동을 선호하는 기업 문화, 그리고 테스팅에 대한 편견을 극복해야만 했다. 오늘날 구글 테스터들은 개발자들과 동일한 수준의 연봉을 받고, 보너스와 승진 기회도 동등하게 주어진다. (제품, 다양성, 수익 측면에서) 괄목할 만한 구글의 성장과 함께 테스터 직군이 형성되고 테스팅 문화가 살아났으며 구조적인 조직 재구성이 이뤄지자, 다른 기업들은 구글의 행로를 밟아나가기에 이르렀다. 이제 테스팅을 제대로 완료할 수 있고 상품화 팀과 회사 경영진은 테스팅 팀에 모두 감사하게 될 것이다. 웹에서 미래를 발견하고 돈을 벌기를 원하는 회사라면 이 책에서 설명하는 테스팅 기술과 조직 구조는 더더욱 유용할 것이다. 그러한 회사들은 이 책을 꼭 읽어보길 바란다. 이 책의 구성 이 책은 직무 역할에 기반을 두고 작성됐다. 1장에서는 구글 품질 프로세스에 대한 모든 개념, 프로세스, 복잡다단한 사항들에 대해 설명하고, 모든 직군을 살펴본다. 1장은 꼭 읽어야 한다. 나머지 각 장은 어떤 방식으로 읽어도 무방하다. 우리는 먼저 테스트 역할에서 SET 또는 소프트웨어 엔지니어에 대해 이야기한다. 그것이 현재 구글 테스팅의 시작이기 때문이다. SET(테스트 소프트웨어 엔지니어)는 기술적인 테스터이고, 2장에서 다루는 자료들은 기술적인 내용이지만, 누구나 주요 개념을 잡을 수 있는 수준으로 작성됐다. 3장에서는 다른 주요 테스팅 역할인 TE, 즉 테스트 엔지니어에 대해 설명했다. TE의 업무가 매우 방대하고 구글에서 TE는 제품 주기에 많은 역할을 하기 때문에 3장은 매우 길다. TE는 기존의 많은 테스터들이 상상할 수 있는 친숙한 역할로, 이 책을 읽는 대부분의 독자들이 적용할 수 있고, 책에서 가장 많이 읽히는 부분일 것이다. 4장에서는 테스트 관리와 구글 테스트 역사에서 중요한 역할을 하거나 구글 제품에서 핵심 역할을 한 구글의 핵심 인재들과의 인터뷰를 다룬다. 이 인터뷰들은 구글과 비슷한 테스팅 프로세스나 팀을 만들고 싶은 사람들에게 매우 흥미로운 내용일 것이다. 5장은 관심이 있는 독자라면 절대 놓치지 말아야 할 부분이다. 저자 제임스 휘태커는 구글 테스팅이 꾸준히 발전하는 방법에 대해 통찰력을 제공하고, 구글 및 대기업이 가야 할 테스팅 방향에 대해 이야기한다. 저자의 큰 통찰력을 얻을 수 있을 것이며, 조금은 충격을 받을지도 모르겠다. |