Will automated testing replace manual testing?
With the advancements in testing tools, automated testing has become very popular which begs the question “is manual testing still needed or beneficial?”
To answer this question let’s take a look at automated testing in terms of its advantages and disadvantages.
Benefits of automated testing include:
- Testing and development can happen simultaneously.
- Automated testing speeds up delivery times, as you don’t have to stop and wait for results.
- Testing frameworks can be designed to fit your specific needs.
Just as there are benefits though there are also limitations to automated testing, namely:
- There are lots of different tools available which can make it very difficult to choose one that is right for your needs.
- Automated testing platforms are normally very expensive and can result in significant losses if you have not selected the correct suite of tools for your business.
- Automated testing is not foolproof, i.e. bugs can still go through undetected.
- Automated testing is only as good as the number of scenarios that have been scripted and is unable to report back on anything that falls outside of these “coded” parameters.
In addition to the above limitations there is a further limitation that, from my perspective, is the most important.
An automated test will provide your developers with useful information on each test scenario, but the feedback is one dimensional, i.e. value in, result = pass or fail. What it does not do is provide any feedback on how the user found the experience, or whether they were expecting the process or feature to work differently to what is presented to them. As we know, user behaviour is quite unpredictable at the best of time and while the scripted test delivers a pass result, from a user perspective this result could be a failure (Bug) as they were expecting the system to behave differently.
It is primarily for the reasons listed above that I believe end to end testing, specifically for websites are best performed by real people as opposed to automated test scripts.
Some people might argue that manual testing takes more time, requires a different skill set and an array of devices to test on. While this may be true, manual testing, especially if undertaken by someone who has not been exposed to the solution at any point during the lifecycle will provide you with invaluable feedback and insight to your solution. This insight exponentially increases the likelihood of your solution being better aligned to the intended user base. To further appreciate the benefits of outsourcing your testing, have a look at our blog post
that covers this point in greater detail.
Automated testing is fundamentally important to the development landscape and I completely support the use of it in many cases. However, I do think that the one thing that automated testing cannot do well, is provide real feedback based on both the actual and expected results. This, as far as I am concerned is what makes manual testing a non-negotiable prerequisite for any product that is developed.