Till now, whatever I have published mostly consisted of consolidation of what different test practitioners have expressed on the web or what they communicated to me via email. It’s my turn now. Since the beginning of this series of posts on Schools of testing, I have been pinging myself, about my views. Today, I will compile my own thoughts and publish them. To see the overall picture, I suggest that you read this series from the beginning and then sit back and think, “What do you think about the concept?”
Just one thing more before I start putting my views. The title of this post was originally meant to be “My Final Thoughts” meaning ‘What I finally think about schools of testing, as of now’. For me, opinion about anything, whatsoever, is a dynamic thing. Opinion is a function of what you already know and the time and thought process that you employ in careful analysis of the subject with your current knowledge. So, as you explore more and as you tend to spend more time to think about anything, your opinion might drastically change. We never know what the next moment might bring for us. So, I am not a man of opinion, opinion is the outcome of my current knowledge and the time I spare to think about it. From Pradeep’s comments for my previous post, I found that the title ‘My Final thoughts’ can be taken in some other manner, which gives some wrong indications about me and my attitude. So, I changed the title to ‘My Thoughts’. All this is to say that whatever I express here is as per my current understanding, so feel free to share your views and comments. If you can convince me, I can change my opinion about anything and everything.
Below are excerpts from whatever I jotted down, while I was thinking about Schools of Testing:
I. No idea is good or bad. It’s just that the perception about it varies from person to person. The idea which forced so many people to think, express and fight, can not be a forgettable idea. It has already left its mark in the amount of debate it created. So, I personally feel that it is good that James Bach, Cem Kaner and Bret Pettichord came up with this idea. It helped me to think about testing in new ways. I have given a lot of thought about how I think about testing, and how I have practiced it so far. To my surprise, I could observe a lot of variations. Some of the times, while testing, what I implemented was what I thought and sometimes it was altogether different. I analyzed the reasons and had some interesting observations. The Way I think and The Way I Test are two separate aspects and now it makes sense to me, that I think about them separately, trying to strike a balance between the two and trying to implement The Way I Think in The Way I Test. I foresee that given all the constraints (as discussed in further points), even if I partially succeed in this; still it gives a sense of achievement.
II. The idea of schools is not divisive, but I have seen that it did create a sort of division. What this means is that though the idea by its definition does not advocate one set of testers disregarding other testers, it just tries to categorize them, somehow it did! So, theoretically an otherwise innocent idea, made so many people fight over the topic of software testing, in not so healthy ways. In my opinion the debate could have been carried on, in a much better way, but it’s human to behave in this manner. Humans tend to fight as they feel belongingness to a particular sect/religion/caste. Humans want something to belong to. So, whenever some categorization is done, in the long run, it turns out into harsh discussions amongst those who belong to different categories. I am sure that you will agree that no one created a religion to create fights, but sadly it did – rather we humans unknowingly turned a sacred thing into a fighting platform. If you ask me, this makes me think that the basic purpose of the concept is lost. It was institutionalized for a better debate and it caused a debate in its worst form. I guess the idea has not been sold properly. OR it was advocated for something more than it should have originally meant. Schools of Testing is a good way to think about different ways in which a testing project can be carried out, and not about different kinds of testers. I do not think a concept is more important than harmony and mutual respect in testing community. So, even this concept should be considered in the light of the present stand of complete testing community for it and then should be refined. I believe that it’s a good concept, but to make it reach more people, to make it more acceptable to all, it needs to be reworked. Rework does not mean creating more schools; rework should strike the conditions it imposes on someone who wants to accept it.
III. The concept of Schools of testing was devised intelligently, but then put into too many conditions. Every person, in this industry, due to one or the other reason, does not have all the freedom to choose what he feels good. In today’s industry, every job requirement comes with so many conditions that mostly a person who is recruited is only a partial fit. Similarly for a professional, whatever place he chooses to work, is only a partial fit. Inside an organization, what project one gets, what team he has to work with, is normally not a choice but a requirement that he is pushed into. Reasons might be enumerable, varying from one person to other and one organization to other. Added to that when the authors of several of the best books on testing, stand as a close group and say, we are from X school, we will support only the community of Xs, it comes as a huge shock to the testers all over the world, who respect them, who read their books, who learn from them, but are not comfortable with schools of testing concept. I am one of them. I am not against the concept of schools, but I am not comfortable with all aspects of it and even with the aftermath it has created. So, if I do not agree to some base points of the concept, does it mean that I do not belong to the community to which James Bach, Cem Kaner, Bret Pettichord and other big names in the testing industry belong? When I buy their books, when I read their literature on the web, I never thought that they and I do not belong to one common root. I have always thought that we all belong to the bigger root – The Testing Community. So, because I want to get associated with them, as I love to read their literature, should I be emotionally forced to say that I agree to the schools of testing concept? I am sure, talking reasonably, this should not be true. When James Bach says that he want to spend time only for the Context-Driven testing community, I feel it is a huge loss to a large number of testers around the globe, who do not call themselves context-driven testers or do not agree with the concept of division based on schools of testing.
IV. I am a context-driven thinker (and I still feel that the term context-driven is redundant, the term “thinker” implicitly conveys evaluation of context) Please note that I have typed thinker and not tester. Whenever I start with testing a product/application, I think about the present context and possibly what is good for it – how much documentation, how much automation, how much process-implementation, what should be the approach, will some earlier practice be helpful etc. So, I think in context of the project. I tend to suggest this as well to the team and to my reporting manager. Now, depending upon the level of authority I have, I might be able to execute what I thought or at the worst all my ideas can be scrapped. I will have to do that testing as is suggested to me by the person who has authority. So, if as per schools division I am from school X and the person with authority is in school Y, and I do the testing in the Y-ways, then am I still an X-school student? It means, for a good number of years, I can keep practicing Y, and keep thinking X. What’s the whole fun? I should better learn the Y-ways to do my job properly; otherwise I will turn out to be a non-performer. Under all probability I will see a mix of X and Y in my way of working, even when I reach a position with authority. The proponents of the schools say – You do not choose a school, the way you test tells the school to which you belong. I disagree by saying that the way a person tests and the way a person thinks might vary based on the situation (as mentioned in the above example). One open question. Now, do you define a school based on Way One Thinks or the Way One Tests?
V. I do not belong to any school. For thinking, I think context-driven. For testing, I adapt.If you still stress that I do not have choice, then I have got two questions. Will the Context Driven School reject me, because I do not agree to some of their principles? Will the other schools reject me because I am a context-driven thinker? What I mean by these questions is that Schools of Testing concept is a good way to make one understand that in the current project, into what category of testing, he falls into, but using it to label him as an XYZ tester, is something which will not be acceptable to many.
VI. I believe in project-based predominant-school concept: I think that at a particular point of time, a tester predominantly exhibits one school of testing. The dominant part might be his organization’s testing style (or his manger’s way), it might be his own way of testing (if he has the authority or freedom to do it) or it might be something imposed because of client, and the less dominant part might again be some suggestions from peers/client/manager, his own insight (in case his way is not the dominant one) or something else. In the next organization or in the next project, things might altogether change. So, for such a situation, schools of testing act more as schools of thinking for a tester and schools of testing for a project as a whole. Now the way one thinks might remain constant throughout his career but the projects are ever changing. So, schools of testing helps seeing a particular project being executed as exhibiting a particular school. For a tester, it just means that he will be thinking throughout the project, what changes he could have brought if it had been done in his way. So, the way a tester is conducting testing does not give much information about his so-called school, the way he thinks does.
VII. Context Driven is not a school, rather the desirable way of testing I had posted on this aspect as a separate post – Is Context Driven a Meta-school?. James Bach (as quoted in that post) clearly states that it is not a meta school. I being, a context-driven thinker, believe that a tester by definition should think in the context of a situation and then test. So, being context-driven means assessing the context and then evaluating what might be the best fit. This does not make it a separate school. Being context-driven is much more than belonging to a single school; it is the way every tester should think about testing. As mentioned earlier, schools of testing are more of schools of thinking for a tester. So, a tester should always think context-driven and then he should try to adapt to and experiment with the project as a whole, which as a bigger picture predominantly exhibits one of the several schools.
Above is what I think about schools of testing. The above thoughts are based on my exposure to testing assignments so far and to the writings I came across on schools of testing or on software testing as a whole. There might be and there must be lot of points which I have missed. The above are my honest views. I expect your honest comments in return.
This is the eleventh post in the series “The Big Fight – Schools of Testing”. For my previous posts on Schools of Testing, you can check the posts under the Schools of Testing Category.