I have read some material about Exploratory testing, Rapid Application Testing etc on James Bach and CemKaner’s sites. From there I also got access to Pradeep’s blog. He has very interesting scenarios, user stories, hueristics, etc that are helpful for Exploratory testing. I read something about what kind of preparation is required for such an approach. I also talked to few architects in my local area and most people were positive about it. However, most organizations do believe in test cases, test plans etc.
Preparation is the Key! – Yes I do believe in this phrase. Prepare for Great and Worse situations and you will be better off in knowing and being capable of handling either way. So what kind of preparation made in traditional waterfall testing approach? Most organizations write Test Scenarios and Test cases during the Build phase when the application is being developed. And of course, the basic reference will be the Functional Specification document.
Based on documentation, Test plan, Test cases, it is kind of helpful from the Project Management perspective on a better planning. Does it mean testing will be complete in a planned time. May be or May be Not. It completely depends on the code quality. So then, does it mean there is a good coverage in test cases and if you blindly execute the tests / test cases, you are done testing? No – way. There is never 100% testing complete in Software world. I once heard, even an airline industry has .001 defects in their products.
So, my point is, with all these pre-planned test plans, test cases, scenarios, Test Cases reviews, corrections, addition of more scenarios etc etc, it is hard to keep up the schedule and most time we will be able to keep up the schedule as well – but at least you have something to plan against and reference against. But as I read in Exploratory Testing, the Prep time is rather used for data preparation, scenario planning etc. One said, if you are trying Exploratory testing for the first time, set aside some amount of time in project deliverable for exploratory testing. Likewise, you would be able to base your test results / execution on test cases and still be able to go through the rapid testing.
Being directed ad-hoc in nature (or may be I am not knowledgeable enough make such comments),
- how would you plan for the execution time?
- What kind of commitments / goals would you set to the project management?
- How would you track the progress on your testing between a given time frame for testing? (let’s say you have 5 days on a medium sized application)
- when and how would you know you have tested enough? (remember you have some basis in traditional test case writing approach to track on – though with constraints)