I had a very interesting conversation on the meaning of Test Case on one of the LinkedIn Testing groups. A few people came up with interesting thoughts and I was impressed with some insights, a rare occasion on a LinkedIn Testing group to be perfectly honest 😦
My initial approach was to consider a Test Case only as a scripted test case and thinking I knew it all on the subject (sic.) I gave the answer below:
Template for any test case:
Challenge: find a test case that cannot be expressed in the form above
Besides some answers from people that for some strange reason associated that test case to BDD only 🙂 I got some very interesting replies, the first one being from a guy that pointed out how it would be awkward to describe a highly configurable system that required a large decision table without repetition. I understood where he was coming from and I replied with this example:
The same guy came up with a very valid observation i.e. how this technique could be used with user personas and navigation preference, all very interesting and thought provoking!
Other people were still very sceptical about my template and insisted that Exploratory Testing Test Cases couldn’t be expressed in my form. I initially rejected the comment by saying that a Test Case is only scripted and the scenarios run while executing Exploratory Testing are not “Test Cases”.
The discussion continued and I grew sceptical about my initial position until eventually I realised that I was wrong, EUREKA! Great, I am going to learn something now!
Of course! The scenarios we execute during Exploratory testing ARE Test Cases and the fact that they cannot be pre-scripted doesn’t make them any less Test Cases. I spent some time thinking about why I didn’t consider them Test Cases in the first place and I realised that in my subconscious for the last 20 years I had associated Test Cases with scripted tests and when doing Exploratory Testing I was not executing a script but I was playing with the application, discovering new things about it and encountering nice surprises together with issues here and there.
It was all clear in my mind now, test scenarios executed during exploratory testing are more than Test Cases (they extend the concept) and as they involve discovering, playing, nice surprises and issues, there is a better name for them: Test Adventures!
Test Adventures, yes, I love my job more now!