Is an incredibly powerful alternative to manual testing or is it?
Manual testing involves the employment of testing personnel to interact with the Application being tested and is considered labor and time consuming.
Automated Testing is considered a huge time saver and implementing it is seen as a way of Startups / Developers making big savings on limited resources.
Colonel Nathan Jessup Strikes Again…
The truth that most of you can’t handle is that pure Automated Testing is not a sound solution; it’s a magic bullet. Automated Testing has several drawbacks:
- It takes time to setup: you still need to write test cases that provide optimal coverage and then create the automated tests based on each of these.
- It takes time to stabilize: if your code is still not stable and your product is evolving then today’s automated scripts can be made redundant by tomorrow’s iteration or pivot.
- It can take time to analyze the results: manual testing sees the results during each individual test where the tester observes the bugs in situ and is able to report them within that context. Let’s say Tester “Bob” runs a test cycle overnight and the next morning has several hundred Automated Test results to analyze. Each failed test will require analysis, drill down and the tester getting into context to understand the results.
- Technical Debt: when the maintenance of your Automated Testing demands more attention than developing the features or the time available to test, you may not be ready for Automation.
The Warptest POV
Don’t get me wrong I’m not saying abandon hope or Automated Testing as a viable option for testing your Application. Just don’t drink the Kool Aid. To run efficient testing you need to take a holistic approach combining targeted Manual and Automated Testing.
As soon as you begin creating Test Cases based on Use Cases, Requirements and Spec you should be planning which Test Cases logically can be automated and at what stage of the lifecycle.
If you know a feature or UI will not be stable until an expected date then the target should be to aim for optimum Automated Testing leading up to this date. By ensuring that efficient Manual Testing is coupled with this effort you are able to provide better test coverage than with just Automated Testing alone.
Some of you are no doubt disagreeing with this. To the rest who have been sold on the idea that Automated Testing is indeed a magic bullet let me state,
“There are scenarios where a skilled, attentive Manual Testing expert will give you speedier results. There is NO magic bullet here. Each product demands a tailored testing strategy.”
So in a nutshell I’m suggesting that if you are developing your App / Software and you are ready to invest in QA: –
- Don’t assume that you are at the stage you need Automated Testing.
- Don’t assume that Automated Testing alone is the best solution.
- Let whoever you are hiring to run your QA get the earliest possible look at your product and roadmap so you have matched expectations regarding testing strategy.
If this brief insight into a holistic approach to testing intrigues you and you believe this offers you the best option for your product’s success then …