How Google Tests Software
in order to have adequate tests, they had to write two or three lines of unit test code for every line of code under test and that those tests required at least as much maintenance as the functional code itself and had just as much chance of being buggy.
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 small test attempts to answer is, “Does this code do what it is supposed to do?”
Jason Arbon • How Google Tests Software
Recording technology converts manual tests to automated tests, with point-and-click validation of content and positioning, to be re-executed build after build to ensure minimal regressions, and to keep manual testers always focusing on new issues.
Jason Arbon • How Google Tests Software
For feature code, the mindset is creating and considering users, use cases, and workflow. For test code, the mindset is about breaking and writing code that will draw out cases that disrupt the user and his workflow.
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.
Jason Arbon • How Google Tests Software
Google takes code reviews seriously, and, especially with common code, developers must have all their code reviewed by someone with a “readability” in the relevant programming language.
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
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
Having said that, it is important to note that Google performs a great deal of manual testing, both scripted and exploratory, but even this testing is done under the watchful eye of automation.