
How Google Tests Software

The question a small test attempts to answer is, “Does this code do what it is supposed to do?”
Jason Arbon • How Google Tests Software
One of the key ways Google achieves good results with fewer testers than many companies is that we rarely attempt to ship a large set of features at once. In fact, the exact opposite is the goal: Build the core of a product and release it the moment it is useful to as large a crowd as feasible, and then get their feedback and iterate.
Jason Arbon • How Google Tests Software
For these types of tests, the person who writes the code and understands it best is the one who is most qualified to test it.
Jason Arbon • How Google Tests Software
At Google, we have created roles in which some engineers are responsible for making other engineers more productive and more quality-minded. These engineers often identify themselves as testers, but their actual mission is one of productivity.
Jason Arbon • How Google Tests Software
Google SWEs are feature developers. Google SETs are test developers. Google TEs are user developers.
Jason Arbon • How Google Tests Software
The question a medium test attempts to answer is, “Does a set of near neighbor functions interoperate with each other the way they are supposed to?”
Jason Arbon • How Google Tests Software
Finally, the mix between automated and manual testing definitely favors the former for all three sizes of tests. If it can be automated and the problem doesn’t require human cleverness and intuition, then it should be automated.
Jason Arbon • How Google Tests Software
Manifestations of this blending of development and testing are inseparable from the Google development mindset, from code review notes asking “where are your tests?” to posters in the bathrooms reminding developers about best-testing practices.
Jason Arbon • How Google Tests Software
relatively low numbers of Google SETs isn’t because Google has created a magic formula for productivity, but more of a result of adapting our engineering practice around the reality that the SET skill set is hard to find.