Bad books on software testing
Submitted by Mike Kelly on Thu, 09/12/2004 - 15:26.
development methodology | general software testing | perspectives
[textile]
I just started reading a fairly new book on software testing written by three authors (the name of the book is withheld to protect the innocent). I have been having bad luck with testing books lately and this book has one of the best examples of the problems I have been seeing.
In Chapter Two, page 29, the book states: "It is impossible to test a software system without having some definition of its intended functionality."
What?!?!
So here is the problem. Out of three authors (and probably several people who reviewed the book) you would think one of them would know how to test software in the real world where everything is not clearly defined. If you give me (or probably you, or any other not brain-dead tester) any piece of software, for any market or intended purpose, and I can test it (with admittedly varying degrees of success) for:
- usability
- performance
- fault injection
- dataflow errors
- data corruption
- memory leaks
- concurrency issues
- configuration problems
- installation and operating platform problems
- common problems in the technology used to develop it
- reliability
- testability
- efficiency
- security
- scalability
- look and feel
- industry standards
- regulations (if applicable - or even if not)
- internationalization
- etc...
The only thing I can't test is functionality as described by a document.
Not to mention that if I'm a thinking human being, I might be able to find some other product on the market that "looks like" the one I'm testing and I might be able to do a parallel test. Or I might be able to use my superpowers of common sense to do some research to see if I can discover what the software should do and what users of such software need.
My main problem with the book (and similar books I've read lately) is that silly statements like this set the tone for the entire book. They are platitudes that have nothing to do with working in a real test environment. When I read this I hear the author saying: "If your project doesn't conform to these standards that I have arbitrarily set, then you can't possibly be engaged in real software testing."
What makes it even worse is that it's not really that bad of a book. There are good guidelines and suggestions in the book that make it worth reading. It's just unfortunate that now when I read anything in the book I have to remember some of the really stupid statements and it discolors the entire experience.
Oh well... I guess it's easy to criticize when I haven't written a book of my own.
[/textile]
I just started reading a fairly new book on software testing written by three authors (the name of the book is withheld to protect the innocent). I have been having bad luck with testing books lately and this book has one of the best examples of the problems I have been seeing.
In Chapter Two, page 29, the book states: "It is impossible to test a software system without having some definition of its intended functionality."
What?!?!
So here is the problem. Out of three authors (and probably several people who reviewed the book) you would think one of them would know how to test software in the real world where everything is not clearly defined. If you give me (or probably you, or any other not brain-dead tester) any piece of software, for any market or intended purpose, and I can test it (with admittedly varying degrees of success) for:
- usability
- performance
- fault injection
- dataflow errors
- data corruption
- memory leaks
- concurrency issues
- configuration problems
- installation and operating platform problems
- common problems in the technology used to develop it
- reliability
- testability
- efficiency
- security
- scalability
- look and feel
- industry standards
- regulations (if applicable - or even if not)
- internationalization
- etc...
The only thing I can't test is functionality as described by a document.
Not to mention that if I'm a thinking human being, I might be able to find some other product on the market that "looks like" the one I'm testing and I might be able to do a parallel test. Or I might be able to use my superpowers of common sense to do some research to see if I can discover what the software should do and what users of such software need.
My main problem with the book (and similar books I've read lately) is that silly statements like this set the tone for the entire book. They are platitudes that have nothing to do with working in a real test environment. When I read this I hear the author saying: "If your project doesn't conform to these standards that I have arbitrarily set, then you can't possibly be engaged in real software testing."
What makes it even worse is that it's not really that bad of a book. There are good guidelines and suggestions in the book that make it worth reading. It's just unfortunate that now when I read anything in the book I have to remember some of the really stupid statements and it discolors the entire experience.
Oh well... I guess it's easy to criticize when I haven't written a book of my own.
[/textile]
