Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Jolt Awards: The Best Books

, September 18, 2012 Six notable books that every serious programmer should read.
  • E-mail
  • Print

Jolt Finalist: How Google Tests Software

by James Whittaker, Jason Arbon, and Jeff Carollo

This book contains a detailed description of the hierarchy of testing personnel at Google, and the responsibilities of the testers and test managers at the different levels. As such, it focuses little on the tools although they are at times discussed in more than superficial detail, their use is rarely the point, but mostly on the interactions between the testers, their managers, the developers, and, of course, with the system under test.

The book touches on various themes, without picking one to follow exclusively: a presentation and explanation of how Google tests various products, as the title would imply, and a friendly set of interviews with staff about testing.

The material on how Google runs its tests is illuminating. The overall perception you get is that testing at Google is not significantly different from at other large companies. The notable exception is that Google is more likely to write its own testing tools. Only in a few areas does the company depend on commercial, third-party products. Its internal processes reveal not so much a "view" of how testing should be done or even a great commitment to rigor, but an evolution of various techniques that have worked in the past and been adopted then adapted for current projects. Occasionally, these practices are insightful. For example, Google classifies all tests as small, medium, large, or enormous. The criterion that defines the categories is the duration of the test: There are expected averages and maxima in place. In many ways, I like this approach. It does away with the concepts of unit tests, integration tests, system tests, and UATs, and instead classifies tests in ways that make it possible to determine easily which regression run can be executed at any given moment.

If you want to meander down Google's testing halls and absorb bits of knowledge and advice from the denizens there, this book is for you.

— Andrew Binstock

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.