Friday, April 25, 2014

In the Context of Context-Driven

I started an enjoyable discussion on Twitter the other day. Here's a brief summary.

So I idly wondered whether it was possible to construct a barber-style paradox around context-driven testing (CDT) and tweeted this:
A Context-Driven tester says that CDT is not applicable on some project, given the context, and tests accordingly. Is this CDT?
I deliberately left this ambiguous. It could mean a few things, including:
  • deciding how to test in the context
  • any testing activities undertaken after evaluation of context 
  • both of the above 
  • all of the work the tester does on that project
I think it's possible to make a case for all of them being CDT based on the original tweet. But it doesn't mean that any particular instance of them must be.

For example, the context-driven tester might not act in a context-driven way at some point (perhaps only context-aware). Or while not doing CDT the context-driven tester might actually be constantly re-evaluating the context looking for a point at which the context changes sufficiently to prefer another approach, i.e. practising CDT. The Twitter thread didn't really explore this aspect.

There was keen discussion about whether it was even possible to find a place that CDT was not appropriate and @huibschoots dug up a link to a Bach/Bolton presentation that suggests a few.

Some testers said that they would always do CDT here. This example from @kengel100:
@qahiccupps @huibschoots @kinofrost if I place myself in this situation there is still a need for CDT. Tester dependent?
In an attempt at clarity, multiple definitions of CDT are given at One includes this:
The essence of context-driven testing is project-appropriate application of skill and judgment.  
I didn't give any project context. There is none, it's a thought experiment. The web site also says:
Context-driven testers reject the notion of best practices, because they present certain practices as appropriate independent of context. 
So I speculated about whether there was an argument that it is not context-driven to insist on CDT, particularly given that there are some occasions where it's plausible to think that CDT might legitimately not be used. I suppose I'm also thinking about whether asserting that you will always practice context-driven testing effectively makes CDT your best practice.
@kengel100 @huibschoots @kinofrost Interesting variant question. Is it CDT to say that we must approach any problem using CDT? Does a tester self-declared as CD use CDT in all contexts? (i.e. regardless of context)
@kinofrost put his response to the idea that there was a contradiction in having the intention to do CDT irrespective of context nicely:
@qahiccupps @kengel100 @huibschoots It's self-refuting. Like saying there's a car driver who always drives car irrespective of having a car.
So I ended up asking myself whether I was worrying away at a potential something or making a something out of nothing.
@kinofrost @kengel100 @huibschoots Started with a hypothetical corner. Wondering if I'm digging a hypothetical hole. 


  1. There is a song by Love & Rockets--the first concert I ever went to that says, "You can not go against nature, because when you do, go against nature that's part of nature to. Our little lives get complicated. It's a simple thing. As simple as a flower, and that's a complicated thing."

    So, just like very long discussions about words, I don't see how this has anything to do with testing.

  2. @TestyRedhead.

    I like that you've quoted a lyric because I had one in my mind when I was thinking about this too: "Everything in moderation, including moderation." I first heard it in a song by a long-since-gone band called Jumbo but it's attributed to Oscar Wilde here.

    I guess I disagree that there's no relation to testing here. If nothing else, questioning, probing definitions, challenging established concepts is part of what testing's about.

    I'll chalk one up to the "making a something out of nothing" score on your behalf.


  3. I love a bit of phylosophy in the morning. (Or any time). Like the 'I think therefore I am!'. But dpes that mean a thought truely has a life of it's own; can you be and not think, (I've met a few managers and project leads that seem to show you can be and not think) it can really mess with your head if you over think something like that.

    I would say that the statement that CDT doesn't like Best Practices is to general. You can make a best practice high enough level to still be flexible to cover all/most contexts. But in the end all testing has a context. Even if that context is limited to a set of requriements, or design specs. In the context of the designers intention we design tests to verify every button that they want. I realise this is probably not in the context of context driven testing, but context is just another word for perspective. And perspective, as with context, changes with each individual, each time of day, each location and agenda, and more variables.

    I would vote for 'something out of nothing'. But all in all a good thought exercise