Insights: Article

Is automated testing the silver bullet we’re looking for?

Automated testing uses software tools to automate an otherwise human-driven manual process of reviewing and validating the performance of a (software) product.  Over recent years, we’ve seen a growing use of automated testing in our customers – and even our own – environments.  This is likely due to the increasingly rapid and widespread adoption of new technologies by organisations seeking to drive greater efficiencies, effectiveness and productivity within their IT and OT environments.  However, is automated testing the silver bullet to reducing risk and eradicating human error in manual testing? Or, does manual testing still have an important part to play in the deployment and release of new technology?

The need for testing

Businesses today are changing at the speed of technology.  Boards, executives and leaders understand the nature and role technology plays in improving their end-user and customer experience, reducing costs, unlocking efficiencies and ultimately enhancing their competitive advantage.  Through the widespread adoption of expansive and visionary digital transformation programs comes the rapid implementation of new systems, platforms and applications to drive out their desired outcomes.

One of the key steps in deploying new technologies and technology-related services into an IT or OT environment is testing.  That is, reviewing and validating that specific software code does exactly what it’s meant to, and there is no risk of defect or deficiency once the technology has been released into a live environment.  Up until recently, testing has been a manual process involving manual time and effort to build test cases and record findings.  It can also be a costly activity, involving technical experts and business end-users to action unit, system, software, integration, regression and functional tests.

RELATED CONTENT: Why self-service catalogues are so important and how to get there

The benefits of automated testing

However, over recent years there has been a rise in automated testing, either built into software programs and applications or run by automated testing tools.  The main benefit of automated testing is that it significantly reduces manual effort and, as a result, improves both speed and cost outcomes.  It can be programmed to run at any time of the day or night and is aligned with Continuous Integration (CI) and Continuous Delivery (CD) practices.

So, what’s better – manual or automated testing?

We get it – humans are fallible creatures.  We make mistakes all the time, sometimes insignificant, but other times quite disastrous.  Automated testing can play a big role in reducing human error, while also delivering greater accuracy and improving resource efficiency.  However, it has its own failings to overcome.

Automated testing requires an upfront investment to either purchase expensive automated tools or to custom develop, as well as a time cost to write software tests and then ongoing costs to maintain the tool.  Additionally, automated testing cannot be used in all testing scenarios.  It is best suited for large projects that require continuous frequent testing of the same areas.

Plus, there remains significant value in manual testing whereby humans can draw insights, make correlations and communicate the human experiences of a real end user using a particular product, which an automated test tool can’t achieve.

RELATED CONTENT: Near field communication: What is it and how can I stay vigilant?

Is automated testing the silver bullet?

Unfortunately, there is no straight answer on whether automated testing trumps manual.  Both are good under different circumstances.  Automated testing strategies work best for repetitive, repeatable and objective testing, whereas manual testing is better suited to User Experience and User Interface testing, which can be difficult to codify and are more likely to be subjective in nature. What we can say, however, is that QA teams should adopt a testing strategy that combines the best of both and which integrates Machine Learning to reduce human error and assist in the generation of automated tests.

Above all else – every change, implementation and new technology must be tested!