AI Use in Software Testing
AI also holds great potential for quality engineering in software development, says Viktoria Praschl from Tricentis.
In order to remain competitive, quality engineering is indispensable for companies. But while customer requirements are increasing, testing teams have to master shorter and shorter release cycles – often even several builds a day in the case of cloud applications. To keep up with this pace, quality assurance can no longer be left for last, but must be integrated into all phases of the DevOps process. What is needed is a shift-left in the V-model: by taking quality into account as early as the application planning stage, companies can identify and address problems at an early stage.
However, how can this be managed in the face of decreasing budgets and a shortage of skilled workers? Without test automation, it is no longer possible. Artificial intelligence is increasingly being used. 86 per cent of CIOs already consider AI an important criterion when selecting quality assurance solutions, according to the Capgemini World Quality Report. According to a survey of DevOps professionals by TechStrong and Tricentis, 90 per cent of respondents see considerable potential in the use of AI. They expect the greatest benefits in the area of testing. Six examples of how AI is already supporting quality assurance in practice.
1. Automated UI Testing
UI tests are used to ensure that a user interface works as desired and provides a good user experience. They are usually laborious and cost a lot of time because they are difficult to automate. AI overcomes this hurdle. By simulating human user behaviour, it can perform UI tests independently from the user’s perspective.
2. Test cases from mock-up designs
A shift-left approach is particularly difficult in UI testing. This is because testers can usually only start test automation once the UI is fully developed. This slows down the release. AI, on the other hand, can already create test cases from the mock-up design of an application. This makes it possible to design UI test cases before the user interface even exists. The same tests can later be applied to the fully developed application.
3. Automated Visual Testing
Visual testing is used to ensure that a user interface works on different devices. By comparing a baseline screenshot with a future screenshot, problems can be uncovered that are not detected by functional testing at the DOM (Document Object Model) level. An AI can automate visual testing. The prerequisite is that it is taught which visual cues to look out for.
4. More stable, platform-independent tests
Even a small change to an application can lead to object identification no longer working and tests breaking down. Quality assurers must therefore continuously check and adapt their automation scripts. This is time-consuming and drives up maintenance costs. An AI, on the other hand, can automate UI tests without technical identifiers. It recognises objects with the help of neural networks on the visual level of the user interface. This eliminates problems caused by broken references between objects and identifiers. The visual AI also makes the test cases independent of the underlying technology. This allows tests to be used across platforms, whether an application is running on a Windows, Android, Apple or Cloud system.
5. Intelligent debugging and self-healing
Testers spend a lot of their time debugging. When a test breaks, they have to painstakingly determine why it is not working. AI, on the other hand, can analyse the data from failed tests in an automated way and identify common failure patterns. It can even repair common problems – such as incorrect references – automatically.
6. Prioritise risks and generate test cases
In order to make testing as efficient as possible, it is important to test the areas that pose the greatest risk in a targeted manner. In practice, this transparency is often lacking. Many companies therefore test according to the scattergun principle and accumulate a bloated test suite that becomes slower and slower. But in doing so, they only cover 20 to 40 per cent of their business risks. An AI can perform an automated impact analysis to identify the biggest risks. In this way, it helps quality assurers prioritise the most important tests and test the right thing. AI can also design automated test cases and achieve optimal test coverage.
Conclusion: AI creates competitive advantages
To implement a holistic quality engineering strategy, companies need the best possible technical support. AI helps to integrate test automation into DevOps processes at an early stage. The best way to introduce the new technology is with a low-code/no-code platform. Viktoria Praschl, VP Sales Central Europe at Tricentis, summarises: “The use of AI becomes a competitive advantage for quality assurance companies. It allows them to detect more errors and problems significantly earlier, speeding up the entire process from development to deployment. By relieving human staff and reducing complexity, intelligent algorithms free up more time for testing teams to focus on strategic tasks.
is VP Sales Central Europe at Tricentis.