The Testing Myth Buster
Having watched and enjoyed a myth-buster programme on TV recently, where they take a concept which people believe to be true and then scientifically disprove it. I thought that this would be a good topic for a presentation and article, so here are my top four myths within software testing that I am going to try to bust!
1. Test Automation is the answer...
It is true that automated testing is needed for any project to prevent regression in the product and also to enable higher productivity and throughput of the staff. However it is by no means the full answer. Evidence shows that manual Exploratory Testing is much better at finding failures. People are creativ, curious, inquisitive, challenging and unconventional - automation is not.
2. Test estimation involves effort and resource...
Regardless of the development lifecycle being used, all estimation involves two aspects: EFFORT + RESOURCE = SCHEDULE. However this is only a half-truth for testing. Estimating testing, involves three aspects: EFFORT + RESOURCE + QUALITY = SCHEDULE. There is a direct correlation with the quality we expect and the resource that is needed. We must estimate the quality of the product if the estimate for effort is going to have meaning.
3. Implement best practices...
I get quite annoyed when people state that they have adopted best practices in their organization. Or when people believe something is "Best Practice". If we take these two words in turn:
- Best = the higest quality excellence or standing, cannot be better than best.
- Practice = habitual or customary performance
So the next time someone states they have implemented "best practice" then they are doing nothing more than the highest quality of habitual performance. I certainly would not like to work in a company that implements this. It is just a popular phrase that marketing and sales pople like to push.
4. Complexity is needed ...
Compexity is on the increase but is it really needed? The Standish group performed a survey, wich showed that 64% of all features put into our systems are rarely or never used. I think, as testers, we should raise this issue at every opportunity because these features need to be tested ad we could be wasting our time.