Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. But testing is not a routine process; it’s a constant exploration of methods and an evolution of good ideas.
I contributed two essays in this book: Building Open Source QA Communities which chronicles what we’ve learned from creating communities around testing for the Mozilla Project and Reference Testing as Beautiful Testing which details how we use automated reference testing at Mozilla to ensure our web rendering engines are working properly.
In 1974, Donald Knuth famously wrote, “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” With computers available now that are millions of times faster than those available then, today’s programmers have even less reason to worry about shaving cycles and saving bytes than those a generation ago. But “less” isn’t “none”: every once in a while, in certain key applications, squeezing the last ounce of performance out of the machine really does matter.