Since the last publication of this international bestseller, software testing has seen a renaissance of renewed interest and technology. The biggest change comes in the growing prominence and acceptance of Agile Programming. Software Testing: A Craftsman's Approach, Third Edition extends the combination of theory and practicality of the first two editions to include agile programming development and discusses the serious effect this emerging area is having on software testing. The third edition of the widely adopted text and reference book is comprised of six parts. It begins by providing the mathematical background in discrete mathematics and linear graph theory that is used in subsequent sections. The book continues to describe specification-based (functional) and code-based (structural) test development techniques, while extending this theoretical approach to less understood levels of integration and system testing. The author further develops this discussion to include object-oriented software. A completely new section relates all of the previously discussed concepts to the agile software development movement and highlights issues such as how agile and XP development environments are radically changing the role of software testers by making testing integral at every phase of the development process. Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Third Edition is sure to become a standard reference for those who need to stay up-to-date with evolving technologies in software testing. Carrying on the tradition of previous editions, it will continue to serve as a valuable reference for software testers, developers, and engineers.