Table of Contents
Foreword
Foreword
Preface
Chapter 1 Introduction to Google Software Testing
Quality ≠ Test
Roles
Organizational Structure
Crawl, Walk, Run
Types of Tests
Chapter 2 The Software Engineer in Test
The Life of an SET
Development and Test Workflow
Who Are These SETs Anyway?
The Early Phase of a Project
Team Structure
Design Docs
Interfaces and Protocols
Automation Planning
Testability
SET Workflow: An Example
Test Execution
Test Size Definitions
Use of Test Sizes in Shared Infrastructure
Benefits of Test Sizes
Test Runtime Requirements
Case 1: Change in Common Library
Test Certified
An Interview with the Founders of the Test Certified Program
Interviewing SETs
An Interview with Tool Developer Ted Mao
An Interview with Web Driver Creator Simon Stewart
Chapter 3 The Test Engineer
A User-Facing Test Role
The Life of a TE
Test Planning
Risk
Life of a Test Case
Life of a Bug
Recruiting TEs
Test Leadership at Google
Maintenance Mode Testing
Quality Bots Experiment
BITE Experiment
Google Test Analytics
Free Testing Workflow
External Vendors
An Interview with Google Docs TE Lindsay Webster
An Interview with YouTube TE Apple Chow
Chapter 4 The Test Engineering Manager
The Life of a TEM
Getting Projects and People
Impact
An Interview with Gmail TEM Ankit Mehta
An Interview with Android TEM Hung Dang
An Interview with Chrome TEM Joel Hynoski
The Test Engineering Director
An Interview with Search and Geo Test Director Shelton Mar
An Interview with Engineering Tools Director Ashish Kumar
An Interview with Google India Test Director Sujay Sahni
An Interview with Engineering Manager Brad Green
An Interview with James Whittaker
Chapter 5 Improving How Google Tests Software
Fatal Flaws in Google’s Process
The Future of the SET
The Future of the TE
The Future of the Test Director and Manager
The Future of Test Infrastructure
In Conclusion
Appendix A: Chrome OS Test Plan
Overview of Themes
Risk Analysis
Per-Build Baseline Testing
Per-LKG Day Testing
Per-Release Testing
Manual Versus Automation
Dev Versus Test Quality Focus
Release Channels
User Input
Test Case Repositories
Test Dashboarding
Virtualization
Performance
Stress, Long-Running, and Stability
Test Execution Framework (Autotest)
OEMs
Hardware Lab
E2E Farm Automation
Testing the Browser AppManager
Browser Testability
Hardware
Timeline
Primary Test Drivers
Relevant Documents
Appendix B: Test Tours for Chrome
The Shopping Tour
The Student Tour
Suggested Areas to Test
The International Calling Tour
Suggested Areas to Test
The Landmark Tour
Suggested Landmarks in Chrome
The All Nighter Tour
Suggested Areas to Test
The Artisan’s Tour
Tools in Chrome
The Bad Neighborhood Tour
Bad Neighborhoods in Chrome OS
The Personalization Tour
Ways to Customize Chrome
Appendix C: Blog Posts on Tools and Code
Take a BITE out of Bugs and Redundant Labor
Unleash the QualityBots
RPF: Google’s Record Playback Framework
Google Test Analytics—Now in Open Source
Comprehensive
Quick
Actionable
Sustained Value
Index
A
B
C
D
E
F
G
H
I
J-K
L
M
N
O
P
Q-R
S
T
U
V
W-X-Y-Z