I recently spent some time running exploratory testing
workshops in India and found I had some free time to start to reduce the mountain
of books I have on my Kindle. I managed to read two books by Dan Ariely
Predictably Irrational, Revised andExpanded Edition: The Hidden Forces That Shape Our Decisions
The Upside of Irrationality: The Unexpected Benefits of Defying Logic at Work and at Home
Within these books there are some great insights into how we think we behave and how we actually behave, Dan calls the work he does behavioural economics. There are many interesting article he talks about in his books and most of them I can relate to software testing. The one I want to pick up on for this blog article is how we can be easily influenced into following a certain path and making us act in a predictably way by manipulating our expectations.
Predictably Irrational, Revised andExpanded Edition: The Hidden Forces That Shape Our Decisions
The Upside of Irrationality: The Unexpected Benefits of Defying Logic at Work and at Home
Within these books there are some great insights into how we think we behave and how we actually behave, Dan calls the work he does behavioural economics. There are many interesting article he talks about in his books and most of them I can relate to software testing. The one I want to pick up on for this blog article is how we can be easily influenced into following a certain path and making us act in a predictably way by manipulating our expectations.
The worlds of advertising and marketing have very
clever ways in manipulating us into buying their products. One of the ways they can do this is to
‘Prime’ us, by doing this they make us think of a subject or a product so that
we unconsciously act in a way that makes us want that product and only that
product.
For example if right now I asked you to come with
words that are associated with being elderly, what words would you come up
with? If for the next 10 minutes I said
think about this and you came up with a list of positive and negative words for
elderly. After you have done this I then
ask you to perform some tasks. When you
perform this tasks you will be slower, take more time and notice little aches
and pains you have. All this is from
just thinking about the term elderly.
The use of association has a very powerful effect on our
unconsciousness. Taking this a stage
further if you have been primed your expectations have been manipulated so that
you tend to have a bias towards the initial priming. For example if you are told beforehand that a
certain type of coffee is unique, expensive, has a secret ingredient and tastes
wonderful. You will at some point have
to try it and once you do because of all the priming you have to like it (If
you like coffee that is – replace coffee with chocolate, beer or whatever your
favourite thing is) your expectations have forced you to enjoy it. Even if your taste buds are saying it tastes
vile, if you have paid a lot of money for it and have been told many times how
wonderful it is it. You will tell
yourself it is wonderful and amazing.
Priming your conscious is a powerful bias that can override many other
indicators.
Now what if I tell you that the secret ingredient is
elephant dung now you have this knowledge your mind will be changed, what if I
told you this before you decided to buy the product, would you still buy the
product?
So how does all of this relate to testing?
Imagine if all you are doing when ‘testing’ is
validating the requirements, your expectations have been primed and
managed. If you keep hearing that the
software is bad by the development teams, that the model being used is poor.
Then these all force you to be primed and you automatically assume the product
is poor and that the requirements are what we should expect the product to
match. Can you see how dangerous this
would be? You are priming yourself to
only confirm what the requirements are or what people are saying.
One of the ways to help resolve this is by using an exploratory
testing approach, which can help to reduce your expectations and assumptions of
the product under test. It tries to
achieve this by the use of models, oracles, and heuristics to ensure that your
beliefs, biases and expectations are constantly being challenged as you are
testing.
Michael Bolton at Developsense has recently wrote
some articles on oracles and heuristics on his blog page.
It's a fascinating topic. I'd go a bit further. Requirements are usually too vague, and stated in such a way that it encourages testers to tick them off. If you combine poor requirements, with a priming, script-driven approach then you get poor quality testing. Sadly that is often acceptable to project management.
ReplyDeleteThank you for the comment James.
ReplyDeleteI agree with each of your points and I could have gone further within the article but wanted to keep it concise. I have another article in the pipeline about writing test cases - hope to have it ready either today (10-May) or by the weekend. So watch this space.
More books for my wish list.
ReplyDelete