In this article, Manoj Verma describes (in his own words) “an exhaustive list of factors to consider” in the choice of testing technique.
But let’s back up a bit.
I chose this article to write about (and this topic) because in our work last week we were tasked with testing a small play problem; and shortly after starting I realized that for all of my practice with different testing methods, I didn’t know where to begin. So when I went to write my weekly blog post, that’s where I looked.
Verma’s list of factors is as follows:
- Risk assessment — how tolerant to failure is the product?
- Client requirements — did the client specify a testing technique?
- Time/budget constraints — how long do we have to test? How much money can we spend on testing?
- Industry guidelines — does the product need to fit into some kind of regulation? Which ones?
- Documentation — does documentation for the product exist? Does it contain testing history? Does it contain logical constructions such as decision tables or state graphs?
- Objective of test — what are we testing for? What does the product need to do, or need to never do?
- Software development lifecycle — how is the development process managed?
- Models used to develop the system — how was the software system built? Are there logical models that can be adapted into testing techniques or cases?
- Tester experience — how experienced is the tester? How accurate is their assessment likely to be?
- Flexibility — does the devlopment process model involve a lot of flexibility?
Verma also concludes that choosing the right technique “is not child’s play”. It isn’t easy, and he doesn’t offer hard metrics, but his guidelines serve as a way for me to ask myself a series of questions and discover the method that may work the best.
My search for answers, as it turns out, did not give me any that are truly satisfying. It led me to more questions. Software testing in general can be seen as the act of asking questions of both the design and implementation. It seems natural that software testing techniques and methods should also be subject to questioning; in fact, software testers should subject themselves to similar questions.
So what can I take away from this? How can it help me move past the brand-new-problem paralysis? That I should start by asking questions of the problem I’ve been presented with, and of myself and my own testing experience.
From the blog CS@Worcester – orscsblog by orscsblog and used with permission of the author. All other rights reserved by the author.

