"Perfect Software and Other Illusions about Testing"
Gerald W. Weinberg
Dorset House, 2008.
reviewed by Dwayne Phillips
I
know Jerry Weinberg. I like him, treasure his advice, and have read and
liked many of his books. This is another of his books that I like.
Jerry
writes around testing software. I say "around" instead of "about"
because this book isn't about the technical aspects of testing
software. I find it to be about the personal and thoughtful aspects of
testing software. More importantly, it is about information -
communicating, considering, and applying information.
This all starts with Jerry's definition of Testing a System:
a process of gathering information about it with the intent that the information could be used for some purpose.
Aha!
Gathering information that we can use. I agree. I have often pleaded
with people on projects to understand this about testing.
I don't know how often I have heard screams of, "The test failed! The test failed!"
No,
the test didn't fail. We learned something from the test, so it was a
success. Perhaps you were disappointed by what you learned from the
test, but the test didn't fail.
This is why I love Weinberg's
book about testing. Its contents will last beyond the current and next
three generations of test tools and techniques. It cuts to the heart of
testing in a timeless manner.
Simple, right? Wrong. The second
half of the testing definition is about using the information, and
people use the information. Now we come to a huge hurdle. "Information
is power." Some people crave information, and many people fear it, even
to the point of hiding it or lying about it.
Weinberg discusses the fear at length, how to spot the fear, and how to work with the people who are afraid.
Yes,
I recommend this book. I can give it to a manager at any level and
trust that if they read it, they have the potential to be a much better
manager. I can give the book to just about anyone - especially people
who have nothing to do with software or testing software. It contains
much about how people gather, communicate, consider, and use
information.