Introduction

At the time this book was first published, in 1979, it was a well-known rule of thumb that in a typical programming project approximately 50 percent of the elapsed time and more than 50 percent of the total cost were expended in testing the program or system being developed.

Today, a quarter of the century later, the same is still true. There are new development systems, languages with builtin tools, and programmers who are used to developing more on the fly. But testing still plays an important part in any software development project.

Given these facts, you might expect that by this time program testing would have been refined into an exact science. This is far from true. In fact, less seems to be known about software testing than about any other aspect of software development. Furthermore, testing has been an out-of-vogue subject—it was true when this book was first published and, unfortunately, it is still true today. Today there are more books and articles about software testing, meaning that, at least, the topic has more visibility than it did when this book was first published. But testing remains among the "dark arts" of software development.

This would be more than enough reason to update this book on the art of software testing, but there are additional motivations. At various times, we have heard professors and teaching assistants say, "Our students graduate and move into industry without any substantial knowledge of how to go about testing a program. Moreover, ...

Get The Art of Software Testing, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.