This updated and reorganized Fifth edition of Software A Craftsman's Approach continues to be a valuable reference for software testers, developers, and engineers, by applying the strong mathematics content of previous editions to a coherent treatment of software testing.
Responding to instructor and student survey input, the authors have streamlined chapters and examples. The Fifth
Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests
Uses Java instead of pseudo-code for all examples including structured and object-oriented ones
Presents model-based development and provides an explanation of how to conduct testing within model-based development environments
Explains testing in waterfall, iterative, and agile software development projects
Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing
Thoroughly revised and updated, Software A Craftsman's Approach, Fifth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing.
This book has some interesting points. Since it is a very academic book, I found interesting that it starts explaining discrete math topics and graph theory, with focus on software testing. The chapters until Integration Testing are very useful. Another positive point: the book is filled with examples about the topics it covers.
However, there are some tedious chapters, with very biased opinions from the author. Unfortunately, the author also has some misconceptions about Agile, which can be harmful to those who are starting to study Agile software development.
It provides a good overview of software testing and different sorts of testing along with various associated quality and adequacy metrics. In addition, it introduces few advance topics in software testing. However, the code fragments in form of pseudocode (or, is it VB?) leaves much to be desired. Lastly, topics such as state machines and petri-nets seem academic and distant from real-world practice. It would have been helpful to provide concrete real-world examples where these notions were used. Also, covering BDD would have been more helpful.
Maybe best reference for Software Testing. But the problem is Software Testing is still not even a science or approach. That's why this book is like a diary of someone just wrote what he innovated about how test software. For me after reading this book, my conclusion is there are lots of work to do only define what is Software Testing or just give up for testing a software. Which means just need to stop testing a software. Because user feedback and usability will do it.