I would like to know what the testing community thinks about this:
At DEWT3 last weekend I was thinking a lot about what happens when human interactions with systems are ignored. If we think of software development as a system we must think about how people are involved and the characteristics of those people if we are to get a rounded view of our organisation’s software development system.
Most of the books written about software development – and in particular software testing – seem to me to ignore the characteristics of the people involved. By doing so they can avoid having to deal with how people think, ways of combating cognitive bias, inattentional blindness, etc. I wonder to what extent this might have contributed to the ‘anyone can test, can’t they?’ fallacy we sometimes hear being bandied about.
The convenience of not having to think about the vagaries of people and how they think, behave and their needs at particular points in time might also lead people to over-simplify and then produce a load of, ultimately, meaningless metrics.
My own view is that a failure to recognise and consider the human aspects of software development projects leads to a lot of problems and faulty logic. Many of these shallow texts are used as course material in University Computer Science courses all over the world and training material for would-be developers and project managers comes from these same materials.
What can we do about this? The professional things for us to do include making sure we read and study widely and continuously aim for excellence in our craft; making sure our minds are broadened; taking responsibility for our own learning; and working on our credibility so when we make statements we are taken seriously by our peers in the craft and our colleagues that we work with on a daily basis. Having done that we can lead by example and help others ‘see the light’ as it were because they are not likely to learn about these things from most of the books currently available!
In the interests of balance I give you a list of some of the books that I have read recently or am currently reading and highly recommend to help get a good perspective on testing:
- “Lessons learned in Software Testing” by James Bach;
- “Secrets of a Buccaneer Scholar” by James Bach;
- “Introduction to General Systems Thinking” by Gerald M. Weinberg;
- “Perfect Software and Other Illusions about Testing” by Gerald M. Weinberg; and
- “The Black Swan – the impact of the highly improbable” by Nassim Taleb.
So, what do you think? Is the current crop of ‘official’ texts on software testing and the shallowness of teaching about testing for would be developers and project managers in Computer Science degrees and the like contributing as much as I think they are to the debacle surrounding our craft? Comments appreciated!