
How Google Tests Software

Every project at Google has a primary design doc. It is a living document, which means that it evolves alongside the project it describes. In its earliest form, a design doc describes the project’s objective, background, proposed team members, and proposed designs. During the early phase, the team works together to fill in the remaining relevant se
... See moreJason Arbon • How Google Tests Software
crawl, walk, run approach gives us the chance to run tests and experiment on our applications early and obtain feedback from real human beings in addition to all the automation
Jason Arbon • How Google Tests Software
To the extent that we are able to embed testing practice inside development, we have created a process that is hyper-incremental where mistakes can be rolled back if any one increment turns out to be too buggy. We’ve not only prevented a lot of customer issues, we have greatly reduced the number of dedicated testers necessary to ensure the absence
... See moreJason Arbon • How Google Tests Software
fails or breaks, the developer takes care of it autonomously. Later in the development cycle, TEs can execute medium tests either manually (in the event the test is difficult or prohibitively expensive to automate) or with automation.
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
if a SWE has to modify a function and that modification breaks an existing test or requires a new one, they must author that test.
Jason Arbon • How Google Tests Software
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,
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
Google SWEs are feature developers. Google SETs are test developers. Google TEs are user developers.