How Google Tests Software by James Whittaker
James Whittaker is a former engineering director at Google and has been responsible for testing Chrome, Google Maps and Google Web Apps. In this book written with Jason Arbon and Jeff Carollo, he describes how Google organizes its software testing process. The Google software testing organization that has three roles: Software Engineer in Test (SET), Test Engineer (TE), Test Engineering Manager.
The book is organized around these three software testing roles, providing the rationale for these roles, completed by case studies and interviews of people that work for these roles at Google. The book contains lively material balanced between the organizational concepts of software testing and the practical view provided by software testers and software managers at Google that speak about their day-to-day work. This book is recommended to every software tester and software development manager, but also to everybody who is concerned with software quality.
I don’t believe that any amount of testing can turn a bad idea or an ill-advised product into a success. I do believe that the wrong approach to testing can kill the chances of a good product or company or, at the very least, slow down its growth and open the door for the competition. Google was at that point. Testing had become one of the biggest barriers to continued success and coming up with the right testing strategy to keep up with our ultra-rapid growth in users, products, and employees without slowing the company down involved a lot of innovative approaches, unorthodox solutions, and unique tools.
Google’s approach is more than a little counterintuitive: We have fewer dedicated testers in our entire company than many of our competitors have on a single product team. Google Test is no million-man army. We are small and elite Special Forces that have to depend on superior tactics and advanced weaponry to stand a fighting chance at success. As with military Special Forces, it is this scarcity of resources that forms the base of our secret sauce. The absence of plenty forces us to get good at prioritizing, or as Larry Page puts it: “Scarcity brings clarity.”
It is generally accepted that 18 months on a product is enough for a tester and that after that time, he or she can (but doesn’t have to) leave without repercussion to another team. One can imagine the downside of losing such expertise, but this is balanced by a company full of generalist testers with a wide variety of product and technology familiarity. Google is a company full of testers who understand client, web, browser, and mobile technologies, and who can program effectively in multiple languages and on a variety of platforms. And because Google’s products and services are more tightly integrated than ever before, testers can move around the company and have relevant expertise no matter where they go.
Reference: “How Google Tests Software”, James Whittaker, Jason Arbon, Jeff Carollo, Addison-Wesley, 264 pages, IBSN 978-0-321-80302-3