There's been a lively discussion on axioms of testing and the subject of schools came up in that conversation. I'm not a member of any particular school and if people like to be part of one - good for them. I think discussion of schools is a distraction and doesn't help the axioms debate at all. I do suggest that axioms are context- and school- independent - so with respect to schools of testing, I had better explain my position here.
My good friend Neil Thompson has eloquently illustrated an obvious problem of being a member of a school. The dialogue reminded me of a Monty Python sketch - I can't think which one but "Dialectical Materialsm" came into it somewhere. I think it was an argument between Marx, Engels and other philosopers.
Anyway, Neil's hilarious example is very well pitched. I'd like to set out my position with respect to schools in this post.
I'm a consultant. I don't do targeted marketing so I don't choose my clients, my clients choose me. In the last 18 months or so, I've had widely varying engagements including: a Test Assurance Manager role on a $200m SAP project with an oil company, consulted for a £1bn+ Government Infrastructure/safety-related project, a medium-sized financial services company whose business is supported by systems developed and supported by a consortium of small companies and a software house providing custom software solutions to banks.
Each organisation and project represents a different challenge for testing. There is a huge spread of organisational cultures, busines and technical environments and of course, scale. My projects are a tiny sample of the huge variation in contexts for which test approaches must be designed, but it's easy to say:
- It is quite obvious that no single approach or pre-meditated combination of test methods, tools, processes, heuristics etc. can support all contexts.
- Since all software projects are unique, the contexts are unique so off-the-shelf approaches must be customised or designed from scratch.
There are some fairly well-defined approaches to testing that have been promoted and used over the years, and one can identify some stereotypes in the way that Bret Pettichord has in his useful talk 'Schools of Software Testing'. It seems to me that Bret's characterisation of schools must be at the same time, a characterisation of approaches. The ethos of a school defines the approach they promote - and vice-versa. It's not obvious whether schools predate their approaches or the approaches predate the school. I'm not sure it matters - but it varies.
But I think the difference in approaches reflect primarily a difference in emphasis. The Agile Manifesto articulated the values and preferences of that community very clearly but there are a range of agile approaches and all have merit.
Which leaves us exacly where?
The so-called schools of testing appear to me to limit its members' thinking. For the members of a school, the ethos of the schools represents a set of preferences for the types of projects and contexts that they would choose to work in. Being a member of a school also says something about its members when they market their services or are invited to join a project: "I prefer (or possibly demand) to work in this way and am qualified to do so (by some means)".
In this respect, for individuals or organisations who align themselves with schools, the school ethos also represents a brand.
I am not a partner with any one test tool vendor because I value my independence. I do not limit myself to working only one way because my client projects don't come neatly packaged as one type or another. I have never known a project be adequately supported by one uncustomised, pre-packaged approach. Some people need to belong to a school or to be categorised or branded. I don't.
So, I'm not interested in testing schools, but I fully respect the wishes of people who want to be part of one.