Using AI to ensure quality engineering in software development and testing

Chris Trueman, SVP at Tricentis, explores the use of Artificial Intelligence in DevOps software and how it can positively impact business operations.

Today’s enterprises operate in a fast-changing digital landscape with ever-evolving customer expectations, creating mounting pressure for business transformation that enhances the customer experience – on time and without impacting quality.

On top of this, economic considerations further intensify the situation. While the UK economy has escaped recession, growth is expected to remain low according to commentators such as KPMG, with real GDP at just 0.3% in 2023, rising to 1.1% in 2024, making improved profit margins another critical factor in business operations.

Businesses must balance the need to digitally evolve and transform with budget reductions and smaller teams, often amidst a shortage of specialist developer skills.

They must rapidly produce high-quality, high-performing, and highly secure software to innovate faster, increase team productivity, keep expenses low, improve compliance, exceed customer expectations – and ultimately enhance the bottom line.

The limitations in current DevOps software

The pressure is on, and the stakes are high for today’s DevOps software development and testing teams, with ever-higher digital customer expectations causing users to abandon online interactions and purchases due to poor experiences rapidly. The speed and efficiency of software releases are critical for stretched development teams, but not at the expense of quality.

This is where we see the vast potential of AI coming into play for software development. While the field of generative AI has been growing in recent years, the introduction of ChatGPT by OpenAI in November 2022 really accelerated its adoption. We have now seen a proliferation in the development of generative AI applications, with the likes of GPT-4, Anthropic’s Claude, GitHub Copilot, Bard and more, and the evolution of the technology has been lightning-fast.

Despite the limitations of current iterations (e.g. requiring correction and double checking to ensure accuracy), there is no doubt that generative AI has the power to offer enormous productivity gains – particularly in software engineering. With some prompt engineering, it can generate perfectly valid code substantially faster than human efforts alone, and its rapid progression means that by this time next year, the idea of buying a software tool that doesn’t have AI integration will likely be viewed with extreme scepticism.

By incorporating different types of AI into each step of the app engineering and delivery process, DevOps and testing teams can work at a speed and scale that has previously not been achievable while finding more bugs and issues upfront to streamline the process from development to deployment.

Harnessing AI’s power can also help address the skills gap in DevOps software by making it easier for junior employees to perform more complicated tasks and help to further intertwine developers and testers to work more efficiently together, thereby ensuring that their work will contribute direct business value.

In a research report on AI-augmented DevOps that we conducted last year with Techstrong Research, we found that most DevOps groups expect AI-augmented DevOps to have the most significant impact on testing. Why is testing poised to see the most significant benefits from AI? The answer is simple – the success of DevOps software requires test automation at scale, which generates massive amounts of complex test data and requires frequent changes to test cases – perfectly aligning with the capabilities of AI to identify patterns in large data sets and offer insights that can be used to improve and accelerate the testing process.

So, how can DevOps teams leverage AI to fuel innovation and positively impact their business operations? Here, we explore several current use cases.

Devops,Software,Development,And,It,Operations,Engineer,Working,In,Agile
© shutterstock/NicoElNino

Functional testing

DevOps software testing operates either as functional – where the program enables users to execute tasks correctly, or non-functional – where the application is secure, fast, and stable.

Because of functional testing’s many nuances, AI is set to thrive in such a complex environment. Functional testing is open-ended, and numerous testing scenarios must happen to curate proper testing coverage.

Therefore, AI can be used to manage these requirements while providing new insights alongside data. AI can also help flag production signals not identified in a non-AI-infused testing environment.

UI testing

AI also holds great promise for UI testing. Testers know how intensive this type of testing can be, as it still operates as a manual process.

AI’s most significant asset to this kind of testing is that it can mimic end-users’ actions. An AI-powered application can adjust variations and nuances in real time through automation. With automation inserted into the testing environment, the build process is also boosted by increasing the efficiency of repetitive tasks, increasing the effectiveness.

Visual testing in DevOps software

It’s imperative to ensure that applications run smoothly. However, DevOps teams can’t test every single device manually.

Equally, applications can pass functionality tests whilst failing to scale when, for example, switching from Android to iOS devices. This is where AI-powered solutions can help detect visual issues at scale. Used for finding cosmetic bugs in applications by comparing a baseline screenshot to a future one, visual testing helps discover issues not picked up by functional testing tools querying the Document Object Model (DOM).

Test building from mock-ups

With the help of Machine Learning, testers can create assets by scanning the mock-up designs of an application. This feature allows testing to start earlier in the development process, thus leading to fewer issues as time pressures mount.

This also helps accelerate UI maturity and allows testers to run the same test cases without modifications.

With many applications having native web and mobile interfaces, reusing the same tests allows DevOps software teams to ship products faster and with higher quality. Should any drastic changes be made, self-healing AI – a system to auto-fix broken test cases – can be applied to detect visual changes such as location, control type and design.

Intelligent bug hunting

AI can analyse common failure patterns and prioritise tests with the most common bugs. However, in this case, AI is limited to analysing test case failure data, creating blind spots in high-risk areas of an application. Therefore, human input is still required.

Smart impact analytics

Powered by AI, smart impact analytics helps prioritise which test should be run to verify application changes in code, configuration, integration, and security. This dramatically increases risk coverage by focusing on the right testing.

Test design and optimisation

One of the big problems in the quality assurance space is that there’s never enough time to test everything, forcing teams to get picky and prioritise certain things.

As AI engines improve, however, that’s a problem that will fall away. Testers will be able to use AI to determine how many tests are needed and ensure that every interactable object has tests built for it.

Testers can prioritise features and test cases by helping analyse production data and process discovery to generate the right combination of test cases automatically.

Fuelling the next phase of DevOps software innovation

What we’ve outlined above regarding what AI can do for DevOps software testing is very much the tip of the iceberg.

The big value will come when it starts getting good at analysis; beyond that, it can write test and application source code. When it has the application source code, test code, and analysis capabilities, it can start creating its own feedback cycle to improve the product based on the executive governance humans give it about what we want the app to do.

Then, it can create a flawlessly working application that self-tests and self-rights based on our instructions. How long it takes to develop a new web application will drop from multiple months, possibly years, to an afternoon!

However, as the technology evolves, AI augmentation helps inform decision-making processes for DevOps software teams by enhancing and accelerating test authoring, test maintenance, and risk management to find patterns and outliers that allow applications to continuously ‘self-heal’.

Teams can do more with less, address skills gaps and free up developers’ and testers’ time to focus on the strategic work that will ultimately help them create better code and release higher quality software.

Faster and more efficient DevOps software powered by AI will ignite a wave of innovation driven by organisations shipping better code faster.

As AI-infused DevOps offerings mature, this technology will be essential to helping organisations remain competitive, improving customer experience, accelerating innovation, and ultimately reducing costs.

Contributor Details

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Featured Topics

Partner News

Advertisements



Similar Articles

More from Innovation News Network