Schools of Testing… Here to Stay.

The world of testing is divided into camps. Those camps argue with each other, sometimes. Mostly they ignore each other. These camps are like religions of software testing. They are determined and persistent patterns of belief, speech, and behavior. They could be called paradigms. In my community, we call them “schools.”

I didn’t create the schools (only the members of each school can do that) but I helped make labels for them. The labels represent these persistent patterns. Paul Gerrard wants them to go away. This puzzles me. It’s like trying to make culture go away. You can ignore cultural differences, of course, as long as you only work within one culture. You can ignore cultural differences if you wish to remain ignorant and provincial.

I’m a pluralist. I have my own testing religion (the Context-Driven School), but I recognize that there are others in the world. Besides Context-Driven, I share the world with adherents to the Factory School, Quality Control School, Analytical School, and Test-Driven Design School, and I share the world with people who form their own schools drawn from each of the other ones.

Paul suggests that no one wants to be a member of a school and that the schools don’t align to real-life testing. Paul’s wrong about that, and profoundly so. Actually the only people NOT a member of a school are those who have no beliefs or ideas about testing. But if you test, you must have beliefs about testing. You have a vocabulary and a sense of the tasks that are to be completed. As you gain experience and education, your beliefs (and consequently your actions) will exhibit an increasingly definite pattern and that can be observed and studied. It may be, as you learn, you change your beliefs. It may be that your beliefs are contradictory, at times. Still, as you get your head together about testing, a pattern emerges. That’s what it means to “know how to test.”

It’s true that the labels I use for schools are stereotypes– if that means a generic pattern. They are useful generic patterns, because they allow me to more efficiently characterize someone’s testing practices. I can say “that’s a factory approach except for this part, here.” People who study culture do use pattern languages to aid in discussing them. This is not some crazy idea of my own.

Paul Gerrard has written quite a bit about testing. He has expressed specific ideas and his ideas stand in contrast to alternative ideas. For instance, he has argued for quantitative risk analysis in test planning, independent of project context. That attitude is consistent with both the Factory and Analytical School ways of thinking, both of which extol the trappings of science (e.g. numbers). The Factory School way is to apply numbers without worrying about whether they have a rational scientific foundation (based on my arguments with Paul, he seems to be in that camp). Factory schoolers are keen to remove the icky human element from testing, wherever possible. They are annoyed by touchy feely things such as their own human infirmity. The Analytical School way is to limit themselves to laboratory contexts where the numbers apply or trying to change projects to ft the assumptions of the numbers. Analytical schoolers are generally academics.

I have debated quantitative risk analysis with Paul Gerrard. He certainly has different beliefs and ethics about numbers than I do. Without making a claim about who is right, isn’t it reasonable to say that he and I belong to different schools of thought?

People don’t necessarily sign up for these schools. Someone could describe himself as “spontaneous and care-free” without joining a club, or committing to that way of being for all time. Similarly, I could describe someone as “methodical and studious” even if he saw himself as spontaneous and care-free. I am not forcing anyone to join an organization by describing them according to a pattern of behavior. Schools are not necessarily communities or organizations.

In the case of the Context-Driven School, there is a community. At least one: mine. You can be context-driven without being in my community, but if you are context-driven in your behavior (meaning, in short, that you reject best practices and study skills and contexts instead) then you will probably be happy to join the software-testing forum at Yahoogroups.com. That’s the forum for our community.

When we began to declare testing schools, almost ten years ago, what we hoped to do was to foster a more scientific community. In science, the notion of schools is well-established. Since the time of the ancient Greeks, this has been so. By failing to establish this in the testing industry, we foster endless unproductive debate based on the assumption that we all share one foundation. In fact, our differences are very deep. There is not even a consensus, in the testing industry, about what “testing” means!