Home

Sunday, November 2, 2008

Do you practice Epistemology?

The important parts of testing don't take place in the computer or on your desk. It's in a Tester's brain.

Few days ago, I was going through a lesson in "Lessons Learned in Software Testing" by Cem Kaner, James Bach & Bret Pettichord where authors said that testing is applied epistemology. Now what the hell is this Epistemology ? - don't need to mention the term was bounced over my head. So I thought to google about the term.

The first definition which I found on wikipedia says
"Epistemology or theory of knowledge is a branch of philosophy concerned with the nature and scope of knowlege."
In simple words Epistemology is the study of how we know, what we know. It tries to answer the basic question: what distinguishes true knowledge from false knowledge ?

Now the question is what is Knowledge?

The classical definition, described but not ultimately endorsed by 'Plato' has it that in order for there to be knowledge at least three criteria be fulfilled; that in order to count as knowledge, a statement must be justified, true and believed.

If above definition is considered, it means if someone knows X, that means that he or she
  1. believes that X is true
  2. X is, in fact, true and
  3. the person who claims to know X can give a justification for thinking that X is true.
but most philosopher says that these conditions are not sufficient. They say justification can be given by appealing to intuition, reasoning or sense experience. Despite the fact that intuition is a common phenomenon, they do not consider as a form of knowledge because there seems to be little way to determine whether it does, in fact, provide knowledge as opposed simply to lucky guesses. So most philosophers consider experience as the basis of knowledge.

When there is too much debate how Epistemology helps in testing? Actually, the basic skills of epistemology are:
  • Ability to ask questions
  • Ability to observe
  • Ability to describe
  • Ability to think critically about what you know
  • Ability to recognize and manage bias
  • Ability to keep thinking despite already knowing.
  • Ability to analyze someone else's thinking.
  • Ability to form and test conjectures.
Oh My God! Did you notice to become a good tester you should also have these skills. Now I know what Cem Kaner, James Bach & Bret Pettichord wanted to say.

All good testers practice Epistemology. Do You?


References:
1. Wikipedia
2. Software Testing - A Practical Approach (Writer - Unknown to me)
3. Lessons Learned in Software Testing - Cem Kaner, James Bach & Bret Pettichord

3 comments:

Software Testing India said...

Nice efforts.Well done.

Mohit said...

Thanks :)

Delaux said...

hah. I was scanning through this book as well and also asked myself 'what does it mean and how can I apply this to testing'.
So I googled and guess what. This thread popped up :)

Thanks for the clarification.

KR

A tester from the Netherlands.