How Google Has Improved the Quality of Its Products with QA: Insights from “How Google Tests Software” by James Whittaker

Artem Sarkisian
4 min readMar 28, 2023

Google is renowned for its innovative and user-centric products. Ensuring the quality of these products is a top priority for the company. James Whittaker, in his book How Google Tests Software, uncovers the secrets behind Google’s QA success. In this article, we delve deeper into Whittaker’s insights and explore how Google has managed to elevate its product quality through QA.

Table of Contents

  • The Google Way of Testing
  • Three Pillars of Google’s QA:
  1. The Role of Test Engineers
  2. The Role of Software Engineers in Test
  3. The Role of Product Managers
  • Quotes from the Book
  • Examples of Google’s QA in Action
  • Conclusion

The Google Way of Testing

Whittaker outlines Google’s approach to software testing, which revolves around three key principles:

  1. Speed: Google emphasizes rapid development and deployment of products, aiming for shorter release cycles without compromising on quality. Whittaker mentions that Google’s focus on speed results from the understanding that “software development is a race, and the first to market often wins.”
  2. Automation: Google heavily relies on automation to ensure the efficiency and accuracy of its testing process. Whittaker explains that at Google, “manual testing is a last resort” and that the company invests heavily in automation infrastructure.
  3. Testing Culture: Google fosters a culture that encourages developers to take ownership of their code’s quality and to actively participate in the testing process. Whittaker describes Google’s culture as one where “everyone is responsible for quality.”

Three Pillars of Google’s QA

Google’s QA strategy is built on three primary roles:

  1. Test Engineers (TE)
  2. Software Engineers in Test (SET)
  3. Product Managers (PM)

Each role is essential to the overall quality assurance process and contributes in unique ways.

The Role of Test Engineers

Test Engineers at Google are responsible for designing, implementing, and executing test plans. Their primary responsibilities include:

  • Identifying and prioritizing test cases
  • Creating automated test scripts
  • Executing manual tests when necessary
  • Analyzing test results and reporting defects

Whittaker emphasizes the importance of Test Engineers, stating that they “are the eyes of the customer” and that their goal is to “find defects before the users do.”

The Role of Software Engineers in Test

Software Engineers in Test work closely with developers to ensure that code is written to be testable and maintainable. Their key tasks include:

  • Developing test frameworks and tools
  • Improving test automation infrastructure
  • Collaborating with developers to write testable code
  • Mentoring Test Engineers in automation best practices

Whittaker describes the role of SETs as “bridging the gap between development and testing,” ensuring that the software is designed with quality in mind from the beginning.

The Role of Product Managers

Product Managers at Google play a crucial role in driving the product’s direction and ensuring its quality. Their main duties are:

  • Defining product requirements
  • Prioritizing features and improvements
  • Coordinating between teams to ensure timely delivery of a quality product
  • Making data-driven decisions to optimize product quality

Whittaker emphasizes the importance of PMs in the QA process, stating that they “must be intimately involved in the quality process” and that their focus should be on “making sure the right product is being built.”

Quotes from the Book

To better understand Google’s approach to QA, here are some insightful quotes from Whittaker’s How Google Tests Software:

  1. On automation: “Automate everything that can be automated, and relentlessly pursue making all the rest automatable.”
  2. On the role of developers in testing: “The best way to ensure that a product has fewer bugs is to have fewer bugs in the product.”
  3. On the importance of testability: “Building testability into a product is a sign of maturity in software development.”
  4. On fostering a culture of quality: “Quality is not the sole responsibility of a single individual or team, but rather the shared responsibility of everyone involved in the product’s creation and maintenance.”

Examples of Google’s QA in Action

Several examples from Google’s products and services demonstrate how the company’s QA strategy has contributed to its success:

  1. Gmail: Gmail’s initial release in 2004 came with an extensive set of automated tests covering various features and functionalities. Google’s use of automation allowed for rapid improvements and updates to the service, ultimately leading to its widespread adoption.
  2. Google Maps: Google Maps has gone through countless iterations and updates since its inception in 2005. With the integration of satellite imagery, street view, and real-time traffic information, the product’s complexity has increased. Google’s robust QA process ensures that these features are thoroughly tested and seamlessly integrated, providing users with an accurate and reliable mapping experience.
  3. Google Chrome: Google Chrome’s rapid release cycle is a testament to the effectiveness of the company’s QA strategy. The browser’s frequent updates are made possible by extensive automated testing, which allows for the quick identification and resolution of issues. Chrome’s success as the world’s most popular web browser can be attributed, in part, to its commitment to quality.

Conclusion

In How Google Tests Software, James Whittaker provides a comprehensive look into Google’s QA process and the roles that contribute to it. By understanding these strategies, fostering a culture of quality assurance, and investing in test automation, other organizations can learn from Google’s success and implement their own QA processes to improve product quality. The insights from Whittaker’s book highlight the importance of making quality a shared responsibility and the need for continuous innovation in the testing process. These lessons can serve as a blueprint for any organization looking to elevate the quality of its products and services.

--

--