November 17, 2014

Perfect Software And Other Illusions About Testing by Gerald Weinberg

Perfect Software And Other Illusions About Testing – I am a little bit confused by this book and can't decide did I like it or not. Some chapters are good, some are too obvious. Obvious, of course, for me, maybe not for others, but I value books according to what new they can give to me.

First of all – version for Kindle on the Ebay is awful. All content is in one chapter (actually there are several chapters, but they are not formatted properly), which makes navigation harder:

There are some concrete characters in the book, with whom are made some examples. A lot of them are quite trivial and overdone, so they seemed pointless for me:

Some claims are doubtful. For example, claim, that the most important value of review is learning – for me it sounds like learning is the very last excuse why you should do review, because all other reasons doesn't fit. Usually (and I think in that case also) learning is a good side effect, not the purpose.
Update: see discussion in the comments about this item.

Another example – author categorically thinks that tester should not answer the question "Is the software ready to ship?" – I think that good tester definitely should answer this question and in modern projects roles are not so strictly divided:

But some claims are good and interesting:

Seems like this book is good for developers, who want to test and for testers, who are involved in testing for many-many years and they need to learn again how to test (with up-to-date tools and approaches). But for young testers, who are learning to test from scratch there are too many obvious and out-of-date recipes.

And beautiful parallel in the end:


  1. Irina. thank you for this generous review. I totally agree that experienced testers such as you won't find everything in the book to their liking. I suspect that's because the book was not written for them, but for anyone who needs to understand testing, but does not. That would include many managers, developers, customers, and even reporters—and many testers have reported that they give copies to such people with good effect.

    If it happens to remind some professional tester of something they've forgotten, that's just a nice bonus.

    BTW, I didn't say that learning was the *purpose* of reviews. Of course not. What I said was that learning was (often) the most *valuable* part of a review. There's a difference. For instance, some 50+ years ago I went to a restaurant. My purpose was to satisfy my hunger, but the most valuable part was meeting Dani, the person who became my wife and lifelong companion. I apologize for not being clearer. Perhaps I was clearer in my Technical Review Handbook.

    As for testers recommending shipment, I wasn't writing of people with mixed job assignments. As you suggest, if their job is a mixture, then of course one of their tasks may be the decision whether or not to ship—and that mixture should provide all the information necessary to make an appropriate ship decision. If all they have is test results, then they're not equipped to make informed decisions. Again, I apologize for not being more clear.

    Thanks again.

    1. Thank You for clarifications!
      There is no need to apologize – it's a matter of opinion.

      About review and learning – the example is very good. But my point was that you can't generalize here and say, that the most valuable part of visiting restaurants is meeting people. In most cases the most valuable part overlaps with the purpose, which is eating (or eating good). So advising to visit restaurant to meet new people seems a little bit unfair to me, because possibility of that is not big enough.

  2. Nice! I really enjoyed reading your post. Thanks for sharing and keep up the good work.
    Apple IPAD Repair & Apple IPHONE Repairs & Apple Laptop repairs