"Some birds aren't meant to be caged, their feathers are just too bright"- Morgan Freeman, Shawshank Redemption. This blog is from one such bird who couldn't be caged by organizations who mandate scripted software testing. Pradeep Soundararajan welcomes you to this blog and wishes you a good time here and even otherwise.

Monday, February 04, 2008

Schools of testing, Test experts, and Blood bath - Why do they exist?

In Test Republic, Jayapradeep Joithis posted a topic and discussion under the name "Shun the experts ... Long live the experts" and I replied to it with my thoughts. In this post, I publish, for the first time about Schools of testing and my ideas. In this post, I publish the same because I love to have it on my blog for some of you to comment or question me or Jayapradeep or share your thoughts about it. This is not my personal attack on Jayapradeep Joithis nor I know what school of thought he belongs to.

I have decided consciously to not conclude on things but keep learning about them - Schools of testing is just one of them. As days are passing the list of not to conclude is growing and the learning about them is growing as well. I am happy.

You could either keep track of the above given link or read the following ( a little edited version of the same ).

Here it goes:

First, before you read further, you must know and note that I am *NOT* a testing expert but I interact a lot with some of them, NOT because I love their association that helps me build my credibility or reputation BUT I enjoy the learning I have from them during every interaction.

Jayapradeep wrote "Software testing has become a Ba##$d science . Put the testing experts in a room and u see them going for each others throats in a jiffy."

Put politicians together in a room, you might notice the same.
Put a husband and wife in a room, you might notice the same
Put sales experts together in a room you might notice the same.
Put marketing experts in a room you might notice the same.
Put cricketing experts in a room you might notice the same.

OR

Watch programs like NDTV "We the people" where topics and experts vary from a lot of things happening in and around world are discussed and you *will* notice the same.

Why do you think it is a common behavior among experts?

That's nature! I am happy that you seem to be questioning the nature and I'd be happy if you are doing that for learning - more about the nature and yourself.

JJ wrote "Experts have all the rights to have differences of opinion(after all "when compromises continue REVOLUTION stops) but i always hope it could be done in a more dignified manner and with humility."

At least in Context Driven Community ( to which I associated myself without anyone influencing me to do that ), I have seen people respect each other a lot and have hot discussions. They appreciate each other and agree to disagree, at times. Sometimes one member doesn't want to agree to the other and I think that's perfectly okay because as you said, they have a right to do so.

I think within every school or community - there might be a lot of fight and betterment of ideas or learning as a resultant - that's good.

In my opinion humility is one of the toughest thing for someone to learn and practice. At least for me, I admit openly that I don't know how to express my humility although I think I have plenty of them. It might happen so that I might never be able to learn to communicate my humility. I DONT want to be humble to those who are spoiling the craft and that's when my inability to express my humility is of great help.

We always fight, you always fight - that's nature. You fought your way among several candidates during an interview to get a job. Fighting is our nature. The mightiest, smartest, timely, blessed, and the luckiest ( if it exists ) wins. All of us win at some and lose at the other. When we lose, others might be winning. Sometimes, we lose and win at the same instant.

JJ wrote, "I am no expert nor have insights into what goes on in their minds but what i have seen is that the same experts who speak about creativity , freedom of expression et.c. behave in the most vile manner when their beliefs are questioned."

If you are not the Prime Minister of India, you might not be pleased when he/she announces a war against a neighboring country. You never know why the person took such a decision or does so during a situation. If you want to know that - the only way I can think of is - for you to become a Prime Minister.

There are some test experts who have dedicated their life to better the craft and the rest to make money as testing is offering a huge opportunity to make money.

Betterment of craft means - disproving and taking off those so called experts who are making money and spoiling the craft.

Not that some experts don't bother about money but they wouldn't bother about money sacrificing the betterment of the craft. Money moves everyone and everything that is under "business" clause.

JJ wrote, "Some have become so confrontationist to any opposing views that their tone changes to a jingoistic one, not remembering at many times that there is a fine line between 'proving your point' and megalomania . There is a literally a a blood bath on every forum,group , blog , conference where these experts interact.

They are just being themselves and you and I need not worry about that as long as they offer insightful ideas helping us become better in the craft ( if we want to become )

JJ wrote, "People who oppose semantics and terminology's saying they make u narrow minded go on to propagate their own definitions and terminology's."

Here is a definition of testing that I heard: Testing is a process of making a product bug free!

Really?

By finding bugs - you are not making the product bug free. It is only when ALL bugs can be found and ALL bugs can be fixed without introducing ANY new bugs you might be getting close to it. It is a foolish statement lurking among many testers.

Here is another definition of testing: Testing is questioning a product in order to evaluate it -- James Bach

That's insightful and helps most of us do better as it seems to be insightful that we need to question and provide information to the management take informed decisions. That's all. Achievable and insightful, isn't it?

It is insightful because testers who have subscribed to this definition have done a lot better testing than the ones with the previous definition and are also open to scrutiny about their work. Tell me a test that you did, which is not a question that you asked to the product or environment you tested!

Terminologies and definitions should help people think and not stop them or spoil their thought process or leads them to infinity or impractical ideas.

JJ wrote, "they try to split the community into schools of thought(read the very interesting article by Bret on schools of testing : http://www.pnsqc.org/files/FourSchoolsofSoftwareTesting.pdf ).

Were you ever forced to join one of them?
As long as it doesn't spoil any of your learning or betterment opportunities, do not worry about them.

JJ wrote, "In this game of one upmanship they manage to confuse the bystanders and force them to align themselves to their school of thought. At many times we see its the commercial interests being propagated camouflaged as knowledge sharing.

You can't be confused about something unless you hear or know it. If you came to know about it, it is BECAUSE you were curious to know that. Your CURIOSITY lead to YOUR confusion and NOT they confused you. You could be clear before you read anything that - I am not going to be biased or worry about anything I read or draw conclusions on it the moment I finish reading an article. I am going to experiment and learn from it.

JJ wrote, "As a bystander and a student of testing this has become repulsive."

A true student of testing looks at anything relevant or irrelevant as a learning opportunity.

JJ wrote, "Shouldn't the EXPERTS(respected and self professed) be trying to confluence their ideas?
Do we need to split up into schools of thought?
Do we need to fight over the semantics?


Did anyone, till date, when you approached them, ask you: What school of testing are you from? or Were you deprived of anything because you belonged to one school and not the other?

JJ wrote, "If we look back into history a classical example might come from the schools of thought of the Indian Philosophy, where the schools( Sankhya, Yoga ,Nyaya , Vaisheshika ,Purva Mimamsa, Vedanta) having divergent views still existed besides each other in harmony. They seen as complementary and supplementary to each other and was not an either or not situation. We had the austerism of Mahavira and crass materialism of charvaka having healthy dialogue with each other and co-existing."

I think there exists nothing called a healthy dialogue but I think there exists and existed people who know to make the conversation healthy and there exists people who understand what other person means by healthy.

What do you mean by co-exist?

We co-exist with aliens ( who might be in Mars ) in the same galaxy. We breathe oxygen and they might be breathing nitrogen. I think I made a correct statement because that's my understanding of "co-exist". You might think I made an incorrect statement because it conflicts with your definition of "co-exist".

The four schools of testing do co-exist and I know of many people who are friends with people of other school of thought.

JJ wrote, "Long live the EXPERTS........."

Yes, Let those people, who are experts (or not) and work for betterment of the craft ( with money as secondary interest ) live long or even if they live short let them contribute as much as possible for the craft.

I have seen Context Driven Testing school or community members spoiling the craft for those who want to make money (sacrificing the betterment of the craft) through the ideas that CDT members think of it as a bad idea and a hinder to the betterment of the craft. I think its good to spoil the craft for such people because I too want to see the craft get better and money is secondary. Secondary means - it exists!

The fight is for the ownership of the craft.

Once again, fight is not a bad thing. We all came to existence fighting against one million sperms!

--
Pradeep Soundararajan - http://testertested.blogspot.com - +91-98451-76817 - pradeep.srajan@gmail.com

"The test doesn't find the bug. A human finds the bug, and the test plays a role in helping the human find it." --

5 comments:

Anonymous said...

"Testing is questioning a product in order to evaluate it." -- Very True but incomplete ( Thats what I feel )

It would be better if "Testing is questioning a product in order to evaluate it as per Clients/Customers/Users requirements "

Any comments on that Pradeep ????????

Chris said...

What a bizarre blog post JJ made! I do not find that experts are necessarily at each other's throats. They disagree, to be sure, but the real experts disagree cordially, respecting each other's expertise.

Testing is the process of determining the risk involved in releasing the product to the next stage (be it UAT or the general user population), in my opinion. I think this is a good way of relating what James Bach said to the real consumers of testing: management of the company, which management has to make the decision on whether to release the software or not.

As for "Testing is questioning a product in order to evaluate it as per Clients/Customers/Users requirements" what happens if the requirements haven't been collected correctly. Perhaps some are defective, or missing, or surplus. The product may evaluate to be as per requirements, but be useless.

I may be in Pune in March; I don't know where you normally hang out (Chennai?) but would love to meet you if you or I are in the vicinity of each other.

Pradeep Soundararajan said...

@Anonymous,

"Testing is questioning a product in order to evaluate it." -- Very True but incomplete ( Thats what I feel )

AND

It would be better if "Testing is questioning a product in order to evaluate it as per Clients/Customers/Users requirements "

That's fantastic provided you have answers to the following questions:

a) How do you know what the customer wants?

b) Why do you think your customers/clients/requirements/users know what they want?

c) How would products like mobile phones produced without consulting you? ( the user , the customer )

d) Can you or anyone challenge that the requirement document is complete?

e) Why do people call a phase in software development as "Requirement *Gathering*? If they have to gather,it has to be scattered - where is it scattered? How can they know where all to look? How do they recognize a requirement?

f) I was getting wood work done for my new house. As wood work progressed and I saw things building up, I changed my ideas, some of which the carpenter understood and some of which I could communicate in his terms and most of which he didn't understand. Why do you think such problem doesn't exist with development of software?

g) Would you want to vary your definition for product companies who develop, test and then sell their product?

h) Sometime back, I was watching investigation of a flight crash. NTSB, who published a final report that said something like, "Some requirements were missed and hence not developed and hence not tested ( because the requirement to test it did not exist )"

Are you OK to travel in such planes?

i) Do you understand every line of what your Requirement gathering team writes? (because only if you understand you could test with its help.)

Note that I am NOT trying to say chuck out the requirement document but I am saying Requirement Document is just ONE of the oracles that helps a tester.

A tester needs to test anything within his scope - which includes the requirement document, too.

Requirement document is NOT a Holy Bible or Bhagvad Gita or Quran. It is a document developed by humans who by virtue of being humans - make mistakes.

If you think, as a tester, you have to do a great job - question the requirements.

Once you question the requirements you might want to change your definition.

Also, you used a word "better" but never said "better for whom?"

For me - Nah! For you - Ha!

You are FREE to have any definition you want but if its not helping you to do a great job - something wrong - both with you and the definition you chose to follow.

If you dont want to do a great job then both things are perfect - you and your definition.

Anonymous said...

Aaahhh, one of the days when I like the whealth of the internet. It seems

to me that the discussion about "schools" is currently on a high. I also

just finished the part of Thomas Kuhn's "Structure of scientific

revolution" that defines the schools concept (that is the basis for the

book and the context driven school)

About a week ago Dawn Forester wrote on the [software-testing] yahoogroup

all the questions which JJ seems to have taken as points to make his case.

The most puzzling question for me is "Do I have to join a school?". If I

don't know ANY schools of testing I try to find out about the fundamental

views of one and then compare it to another one and so on.
Only these insights will lead me to a choice - which can also be not to

join any school.

Anonymous wrote "Testing is questioning a product in order to evaluate it

as per Clients/Customers/Users requirements" which Chris specified by

adding "James Bach said to the real consumers of testing: management of

the company[...]".

In this case I think both descriptions limit the view on what a tester

takes - probably unconciously - into account. Presenting a risk to

management needs to be based on something. So if you present that risk you

say "if the system goes live, people might die" and not "if the system

goes live we've got a 34.7% chance of it failing when executing function

XYZ". You implicitly take the people who could die as "stakeholders" which

influences your testing.

I admit that the "stakeholder" view can basically go on forever if you

produce a tree containing paths who show stakeholder-relations, but in

this case the expertise of the tester should enable him to define a

certain depth of the tree.

Pradeep said "Are you OK to travel in such planes [with unmet

requirements]?"
It is correct in the context with ONLY "questioning the requirements".

But also in an environment where you have testers revealing more

requirements: aren't flying in these planes all the time and isn't that

the way testers want it to be, in the sence of a scenario that in

incorporates a minimum of risk?

We asume that the risk of the plane crashing has been reduced to a minimum

possible with the time, budget and capabilities available.


Greetings
Markus

Anonymous said...

To anonymous and Pradeep:

quote:
"Testing is questioning a product in order to evaluate it." -- Very True but incomplete ( Thats what I feel )

AND

It would be better if "Testing is questioning a product in order to evaluate it as per Clients/Customers/Users requirements "


I think the first definition is too incomplete.
But the other definition is even worse.

First definition is perfect as it is, but I like to add two other definitions to make the picture more complete. I just thing that only one definition of testing is not enought.

So from my point of view, but not my words:
Testing
= is questioning a product in order to evaluate it
= is process of searching defects in what more shortest period of time and of the fastest assurance of their correction
= is looking for anything, what according to your opinion as a tester, could unnecessary lower value of a product in eyes of some stakeholder.

What you think about it?

Anna