Testing Computer Software, 2nd Edition
Published:
1999
Pages:
480
Upcoming Events
Apr 27 |
STAREAST Software Testing Conference in Orlando & Online |
Jun 08 |
AI Con USA An Intelligence-Driven Future |
Sep 21 |
STARWEST Software Testing Conference in Anaheim & Online |
User Comments
This book is very detailed and very good if you want to learn about testing
Beth criticizes this book for being out of date, even though it was published in 1999. But actually it was published in 1993. I have a copy of the 2nd Edition with this date, published by Thomson. The publisher changed to Wiley in 1999, but the text was not updated. Clearly it could be.
This is the first book I read after entering this profession and I strongly recommend it to all beginners. The first few chapters, where the author talks about fundamentals of testing are quite interesting. The later chapters introduce testing process, methods, tools and management in a clear and concise manner. Till date, I browse through the Reference and Index section of the book for a quick help. This book is a must in the library of every IT concern, which cares about quality.
The second edition of Testing Computer Software was published in 1993, not 1999. The 1999 date is a reprint date. I am glad that the book is still helpful, but several of us have been working on an update to the book for years. Much of it has stood the test of time, but other parts are getting elderly. We are continuing to work on an update (in two volumes, one on testing, the other on test management), but in the meantime, you might supplement the book with my commercial course notes, and James Bach's course notes, at www.testingeducation.org. That site is relatively lean today, a few sets of course notes is it, but we have a fair bit of additional material in the works. Coming back to TCS 2/e itself, I think the greatest strength of the book is that it is rooted in genuine experience. We wrote about stuff that had worked for us, failed for us, or was complicated for us -- and that we had a broader understanding of based on reading and discussions with other testers. Too many other writers describe things they have never done, and authoritatively prescribe things that will rarely work or that are much more complex than appears in the description. There are several opportunities for improvement in the book; I'll mention a few: (1) the book talks about test documentation but is far too gentle in its treatment of the documentation "standards" like IEEE 829. I had serious reservations about 829 back in 1983, when I started writing the first edition of TCS, and by 1993, I thought it was clear that this standard was doing more harm than good in commercial markets. But we didn't have feel confident that we had a good way to explain our reservations. Pettichord, Bach and I tackled this much better in Lessons Learned in Software Testing. (2) The discussion of bug reporting was good as far as it went, but my course notes extend the idea of bug advocacy quite a bit. (3) The chapter on test design is too narrow. We mentioned some other testing strategies, especially exploratory testing, but we spent most of our time on domain testing (boundary analysis, equivalence analysis,etc.), even illustrating it with a full chapter applying it to printer compatibility testing. We had used several other approaches, but didn't know how to articulate them well enough for our descriptions to be useful to other testers. We were also concerned that we would not appropriately credit other senior folks for their work--a lot of people were using these methods, and we were learning from them, but not much of their work was published. Today, I think that a good discussion of black box testing should cover the following techniques in detail: domain testing, function testing, scenario testing, specification-based testing, risk-based testing, exploratory testing, user testing, regression testing (manual and automated), state-based testing, multi-variable combination testing, and high-volume random testing. (4) The book doesn't address metrics well, largely because we didn't have good constructive advice. You might find my draft chapter (for TCS 3) helpful, Measuring the Extent of Testing, at http://www.kaner.com/pdfs/pnsqc00.pdf. (5) The bug appendix is getting old. Two of my students, Giri Vijayaraghavan and Ajay Jha have been developing a next generation categorization of bugs and examples. Giri's work won a Best Paper award at Quality Week this year and will go up on Testingeducation.org soon. (His paper will be replaced by his M.Sc. thesis in a few months.) Ajay's thesis will take a bit longer. /new paragraph/ I mentioned that several of us (Bach, Nguyen, McGee, Jorgenson, Falk, me) are working on the third edition of TCS. I can't tell you when it will be ready. We'll release it when we've got something that we're proud of, and that covers the key issues that we think are important today. It's been a very challenging task, probably the most difficult project that I've worked on, and it will take some more time before it's done.