This
article is a book review on “Perfect Software and other illusions about Testing”
by Gerald M. Weinberg. who is an American computer scientist, author and
teacher of the psychology and anthropology of computer software development. He
is one of the highly reputed and widely known personality in the field of
Software Testing. As the one who was there from the beginning of industry and
had seen and done everything. He had written more than 40 books ranging from
IT, Psychology, Software testing etc.
Perfect Software and other illusions about testing |
One
of the most recognizable expressions around, An Apple a day keeps the Doctor
away reinforces the importance of having a healthy diet, rather than simply
taking the supplements like Vitamins and Protein powders. Similarly, soft
skills like right attitude, mindset, clarity of thought and expression,
communication are a vital part of a software testers job but, unfortunately not
many of the books on testing these days actually focus on these. Most of the
Software testing books in the market talk about the types, methods, and theory
of software testing, without actually focusing on the important soft skills
required for the job. To add to the confusion, there is talk of Automation and
promotion of various tools that promise to Automate the whole of testing and
perform miracles.
This
Book focus on the most vital and important part of Technology, the Human
aspect. The books start off with the most crucial question of, why do we need
to test. Facing the reality of what Testing cannot do and the myth of testing
everything. Then, what is actually testing is, the human nature of blaming,
fault finding, defensive reactions. The author undoubtedly is one of the most
knowledgeable and with his wide experience, explains some of the pitfalls and
how to avoid them.
How
the book is organised?
I
really liked the way the contents of the book are organised. Firstly, the name
of the Chapter informs the reader, the essence of what is coming. Then, there
are sub-sections to make things more clear and explicit, followed by a succinct
Summary. What is more interesting is the Common Mistakes section which
highlights some of the glaring, obvious, not so obvious mistakes people tend to
commit, due to various reasons like going with the flow, stereotyping, out of
ignorance, lack of proper understanding or may be due to various constraints
like Budget, resources, time etc. I loved this section, and the explanations
are really handy. As a common quote says ‘A wise man learns from the mistakes
of others’.
The
subsequent chapters talk about, how to make a good Test, common fallacies (mistaken
beliefs, especially one based on unsound arguments) and what testing is not. So
many times, we hear people say things like ‘So you are the testers who brake
the system’. For them, I would say ‘we are the ones who investigate the
software and find where the system is broken’. So, there is a whole chapter
about some major fallacies about testing and you can see for yourself, which
one you are fall into.
Testing
is more than banging Keys – another chapter provides answers to all those
people who think that anyone can test anything and every action performed is
testing. It may be but, there is a subtle difference that needs to be noted.
Is
there a problem? Isn’t Testing the individual parts is as good as testing the
whole?
Again,
a big No. Once I saw this written on someone’s Tee Shirt- ‘Been there, done
that but, can’t remember anything’. I admit, at times it feels like that. And,
that’s where this book comes handy for even a veteran IT or testing
professionals. The most fascinating
aspect of this book are the real-life examples that Gerald writes about. Being
a Senior Tester by now, I have gone through these stages of people confounding
me with all their own interpretations and understanding of what testing means
and some common questions like, why do we need to test? Do we need to do the
whole thing again? The fix would not affect anything and no testing required,
why do we need to do a System testing when a UAT is being done etc. And,
sometimes the whole world seems to be fighting against you (Developers, PM's,
BA's and End Users). Over a period of time in the industry, I have learnt the
hard way but, I feel that it would have been so much easy, if I had read this
book a decade before.
This
books needs to be read not only by testers but, everyone else involved in the
SDLC - Software Development Life Cycle. Because until, one knows and learns
about testing, they can’t appreciate the importance and value of testing.
Words
mean many things and sometimes they mean opposite of what they sound.
Importance of right communication, and the use of Satir Interaction Model to
unravel, unfold, unwind communications. Further on, this book talks about the
common misnomers about Test Automation, the Silver bullet that apparently has solutions
and answers for everything. The most interesting part comes in the last. Who is
not interested in knowing about scams. everyone hates scams but, loves to
uncover and expose them. Gerald, brilliantly finishes the books with some of
the famous scams of Testing and hits the nail in the last but one chapter
called ‘Testing Scams’ where he talks about the scams in Testing world, that
most common people are unaware of.
Coming
from a background of testing, this book is an absolute pleasure for me to read
and review. The author Gerald with his straight forward, honest write up about
the Software testing is a brilliant master piece, everyone should read. Not
limited to only the Testers, this is a must read for everyone who is in the IT
field like Project Managers, Developers, Business Analysts, SME's just about
everyone involved in the SDLC, Software Development Life Cycle irrespective of
Agile, Devops or the traditional Waterfall models. The book reinforces the
knowledge of Software testing to someone who is already working and an eye
opener to anyone who wants to know about Software testing.
This
books not only clarifies the job function, importance of a Software Tester but,
also the right way, approach to the Software testing. It equips one with
answers to the real-life situations of testing - what is the right way, what is
the right thing to say and do and what is not testing. The book was very well
written, with real life examples that are so crucial, important that one cannot
go wrong but, may easily go wrong. And finally, I like the usage of Quotes in
the book like this one, “The optimist sees the rose and not its thorns; the
pessimist stares at the thorns, oblivious to the rose.” - Kahlil Gibran
No comments:
Post a Comment