Product Description
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.
Extend your Knowledge of Emerging Technologies
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 on the most recent 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.
#1 by Bernard Homes on December 15, 2009 - 5:46 pm
Quote
Whether you are looking for a beginner’s book, or a specialist’s reference document in software testing, this books provides it.
I have known Paul for a number of years and we worked together on the ISTQB Advanced Level syllabus, so I can vouch that this is really a compendium of techniques, methods and thoughts that can be used by all, including as basis for Advanced Level courses.
Even though the previous (2nd) edition was good, this one expands on it, and touches topics such as multiprocessor testing (look up the term “threads”), All Pairs and Exploratory Testing. And always with the cheerful yet thought provoking way, one has come to associate with Paul.
A book to have not only on one’s shelf, but as a reference on one’s bedside table.
I really enjoyed it Paul, and I hope that all of you who buy it will enjoy it too.
Rating: 5 / 5
#2 by Ren J. Tescher on December 15, 2009 - 8:27 pm
Quote
This book has typos throughout the first 5 chapters we have covered
so far in class. I could not find an errata sheet on the publisher’s
web site. The instructor of my Software Testing class says the author
has left these errors in the 2nd edition “for the students to discover”.
Apparently, a student will know the subject of Software Testing very well
IF they can find the errors throughout the text!
In other words, a student can’t trust the text as an authority on the
subject, but has to discover the errors in the text WHILE attempting
to LEARN what the text is teaching?
FollowUp: I have received an errata sheet from the publisher.
I had to request it through their “Contact Us” link.
Unfortunately it also contains errors that were corrected in the 2nd edition.
but at least one “glaring” error (the year 2000, instead of 1900 in the
NextDate program) is not mentioned. I hope they get that fixed with the
3rd edition (due soon).
Rating: 4 / 5
#3 by Mike Tarrani on December 15, 2009 - 8:30 pm
Quote
Books on software testing fall into two basic categories: (1) those that deal with the test process and (2) those that deal with the actual techniques. Most of the more recent books fall into the first category; although there is some degree of crossover in many of the books. This book, however, deals strictly with techniques. The author doesn’t dwell on the process or the associated administrative tasks, although he does touch upon them.
Techniques are presented within the context of formal mathematics. This isn’t because the material is academic – it’s all based on realistic testing scenarios – but, instead, provides you with proven and effective techniques for testing software in a systematic manner. Because many testers have not been exposed to the formal techniques and underlying math, the first section covers the basics: discrete math, set theory and graph theory. Once you’ve mastered the basics, which are heavily used in the chapters that address the actual techniques, you’ll have all the knowledge that you need to go forward.
The remainder of the book is divided into four sections, each of which covers a specific type of testing. These types are: functional, structural, integration and system, and object-oriented testing. For each there are two to three techniques, plus a retrospective on the section that ties everything together. Also, issues and factors associated with each test type, as well as testing in the whole are discussed, giving you a complete picture of the full suite of testing categories.
Overall, this book is well written and illustrated, but requires effort to get through. This isn’t a criticism of the author, who did an outstanding job of conveying information and clearly explaining complex concepts and topics, but reflects the depth of the material. In my opinion a copy of this book should be among the top five in any serious software test professional’s library.
Rating: 5 / 5