As testers, we started our trade learning manual testing; the essence of gatekeeping software quality. However, it can be tedious, labour intensive and repetitive. From there, we up-skilled to become Automated Testers and did away with the negatives of working manually. However, whilst Automated Testing takes away many of the drawbacks with the Manual practise, it still has its pain points:
What are the pain points of automated testing?
– Its time consuming. For automated tests to run properly with code expansion, testers must keep tests adjusted, which leads to more complicated tests over time due to stockpiling and software debt.
– It can miss bugs when adding new functionality. Automated tests can run successfully, however they may fail to detect code errors in newly added features. Often this requires manual testing, which isn’t always possible unless the project is staffed accordingly.
– Long-term test cases. When instigating long-term test cases, errors may occur in setting up test -case steps not in the code. In this matter, QA engineers will have to improve a test and start it over.
– Engineers skill shortage. Test automation requires diverse software knowledge and skills in creating automated test scripts. This means that hiring the right talent can be a difficult process.
– It’s hard to automate user interface (UI) tests. This requires human interference and judgment.
So where do we go from here?
We all have heard the buzzwords flying around our industry; Artificial Intelligence (AI) and Machine Learning (ML). These testing methods are in their infancy stage, and while many remain hopeful for their advancement, there are very few case studies at present making early adoption a challenge.
Before we get into the benefits and challenges of AI and ML, let’s have a look at what they are about.
Essentially, AI and ML technologies are trained to process data, identify schemes and patterns, create and evaluate tests without human assistance; this phenomenon is known as “Big Data”. All made possible with deep learning and neural networks, which is when a machine self-educates based on the provided data sets or data extracted from external sources.
What are the new benefits?
– Detecting any changes in software and defining whether it’s a bug or an added feature that should be tested.
– Updating tests accordingly to the features being added.
– Fixing tests on the run in case a certain element is not found.
– Quickly detecting software changes by inspecting history logs and correlating them with the test results.
– Analysing code to estimate test coverage.
– Creating dashboards to unite and share data on tested code, current testing statuses, and test coverage.
– Prioritizing test cases.
– Speeding up maintenance and test runs.
– Predicting and timely notifying about possible code or test issues.
– Fewer SME’s required to achieve the same work.
What are the potential downfalls?
We have covered the benefits of what AI and ML can bring- but what are the drawbacks of it? Well, there will be a lot of uncertainty when it comes to the results. And it will take someone who has knowledge of debugging the system which means searching for Engineers with unique skills. Which could have a knock-on effect on traditional workflows in current software lifecycles. It might even require a whole new process change to incorporate the AI/ML, which sounds expensive and time consuming.
As we have overcome relying on manual testing, naturally, we will do the same with automation. To utilise and get the most out of we will need to persevere and take the initial risks. We have been able to find solutions to manual testing downfalls with automation and we can do the same with automation by adopting AI and ML. We can do and achieve anything with it, as long as we have taken into account the sacrifices we need to make in upskilling and allowing QAs/Automation testers time to learn how to do things effectively and efficiently. The companies who recognize this will win in the industry and reap the rewards.
Written by Abdi Mohamud, QA Automation expert.