Kem Caner in his post on what is context-driven testing writes on the difference between context-driven and context-aware:
“Similarly, some people create standards, like IEEE Standard 829 for test documentation, because they think that it is useful to have a standard to lay out what is generally the right thing to do. This is not unusual, nor disreputable, but it is not context-driven. Standard 829 starts with a vision of good documentation and encourages the tester to modify what is created based on the needs of the stakeholders. Context-driven testing starts with the requirements of the stakeholders and the practical constraints and opportunities of the project. To the context-driven tester, the standard provides implementation-level suggestions rather than prescriptions.”
He then goes on to write:
“Context-driven testing is an approach, not a technique”
You know, I read this about six months ago and whilst I appreciated the difference between the two, I didn’t understand what the big deal was.
Consequently, I’ve been a bit dismissive and slightly irritated by some of the discussions held regarding the differences. I couldn’t understand the need to differentiate. As long as ‘context’ is taken into account during testing, who cares what it’s called?
(I suspect you know where this post is heading….)
Of course, I now realise that I was wrong and it does matter.
Because, the difference is all about attitude.
Context-driven testing is an attitude that refuses to confine and constrict software testing to one approach, goal or technique and asks the tester to come to each test exercise without prejudice, assumption or pre-conditioning.
That doesn’t mean that once the context is understood, any previous learning doesn’t come into play, it’s just that for context-driven testing, you are purposefully open minded about how you will test.
With context-aware, some methods have already been pre-determined. This doesn’t matter if it’s a standard, a checklist or a template, a decision has been made before the testing starts to use some approach.
In fact, a context-driven tester and a context-aware tester may both end up testing a product using the same techniques. The difference would have been, a context-driven tester makes a decision on the approach after talking to stakeholders whilst the context-aware tester has already decided on approach and technique before speaking to a stakeholder.
I’m still to be convinced about the Unicorn Question though………