A Practical Guide: Improving Quality In Software Development with AI

Reading Time : 6min read
Quality in software

Challenging traditional ideas of when and how to conduct app testing is just good for business, setting the stage for faster app delivery and mobile excellence. Today, with the help of AI, QA teams can quickly shift left to create a highly efficient development process, reduce time to market, and improve product quality. 

At Kobiton, we know that finding defects later in the integration or post-production phases can substantially increase costs. 

“Shifting left to test as early as the requirement phase offers increased ROI,” Frank Moyer, Kobiton’s Chief Technical Officer, told attendees at Automation Guild 2024. He delivered insights on the transformative power of AI in the Software Development Life Cycle (SDLC) at the annual event, which offers the latest trends, best practices, tips, tools, techniques, and strategies of real-world automation testing experts.  

Frank’s talk offered practical examples and actionable insights on seamlessly adopting AI into early-phase testing environments. Here are the highlights of his talk on effectively using AI to catch defects earlier in the SDLC to accelerate delivery times and improve ROI. 

Leverage the power of AI in design

Frank suggests considering AI as an opportunity to ensure the UX is sound and makes sense. By leveraging AI in the design stage, you can improve UX/UI and ensure your app is accessible to all users. 

“AI can give you confidence that you’re not missing anything that could become a problem in the later stages of the SDLC,” he explained.  

Frank reminded users that just a few months ago, AI could only process word prompts, but AI capabilities are constantly evolving. ChatGPT, for example, has recently introduced image processing, allowing quality engineers to provide an image in the prompt to get feedback on improvements in the design. 

In Frank’s example, he took a screenshot of an interface and inserted it into the ChatGPT prompt to provide a starting point for improving the overall app. 

“Although all aspects of an app’s functionality can appear to be in good shape, AI may point out things you haven’t considered in the early stages of the SDLC,” he explained.

Screen shot of utilizing chatGPT

AI can recognize things that can be easily missed, like accessibility issues. For example, it could be the absence of a resend button or more prominent error messages. Accounting for these things early in the SDLC improves overall application quality and saves time and money. AI provides that crucial check to ensure you’re not missing anything early enough to make any necessary adjustments before they become costly fixes later in the SDLC.

Frank warns that ChatGPT doesn’t always get everything right, so you’ll still have to check. 

“It’s rich and insightful information, but it’s just a starting point for using AI to improve the overall app quality,” he adds.

Leverage AI for unit testing

Frank noted that several development tools are available for code generation. Microsoft Copilot and ChatGPT can improve code quality and speed. 

“Once you have the code, you can leverage Kobiton and ChatGPT for unit testing to improve quality,” Frank explained,

In Frank’s example, he entered a prompt into ChatGPT for unit testing for a validation function and ChatGPT provided test cases and pseudo code, which is helpful, but Frank dove deeper into it by prompting ChatGPT for real code which it then produced once properly prompted.

ChatGPT requires more specifics about real code, so a logical question for ChatGPT is to ask for unit tests. The prompt then becomes, “I want tests written in node.js as the testing framework.” 

Frank acknowledges that you can develop these tests and code on your own, but collaboration with AI provides new ideas about things to test. It also provides the code to make things go faster, thinking of different scenarios to add that go further in a particular area.

“Unit testing is often overlooked because of time constraints. Developers are so busy developing, and testers are so busy testing that no one has generated sound code for unit testing specifically,” added Shannon Lee, Lead Solutions Engineer at Kobiton, who was also involved in the talk. 

Shifting left and having sound foundational code at the start of the cycle translates to a better-functioning app. Pairing with an AI tool like ChatGPT to generate the code assists developers in making sure nothing is missed. AI can help create scripts or automation in functional testing so that there is no endless manual testing. Frank recommends pairing automation tools that allow you to be more efficient in day-to-day operations.

How it works with Kobiton’s AI Capability

Automation speeds testing at all stages of the SDLC and reduces the need for manual testing. Pairing can reduce script creation time from four hours to mere minutes, including creating iterations. AI provides the code to make things go faster and it thinks of different scenarios that can be added to go further in a particular area.

Test scripts can also be edited and drilled down deeper to make complex assertions, database, or API calls. AI speeds up the process and makes it easier for all stakeholders. Frank emphasized that AI will not replace quality engineers or testers.  

“AI will complement the work,” he noted. “You can generate scripts and code by leveraging AI, but AI tools cannot replace quality engineers or testers. The goal is to use AI to complement the work to provide a good user experience.”

Kobitron’s move to open-source AI-powered Appium script generation makes it easier to use because anyone can contribute. Starting with automation in the early stages of development can be challenging. Writing your first Appium Appium script and setting up your environment isn’t always easy, but you can submit a request for the automation you need. 

Image of appium script

Leverage the power of AI in maintenance

Shannon noted how frustrating it can be to run regression tests only to find that all scripts failed because the developer introduced just one extra element into a new release. AI can assist with ensuring that a newly created or an existing Appium script is executable and maintained, providing self-healing code

“Leveraging AI in testing provides a higher percentage of automation faster,” Frank added. With Kobiton, AI assists all team members in automating more tests in parallel across more devices. It will improve team productivity and app quality and accelerate continuous delivery.”

Get a free trial from Kobiton

Interested in Learning More?

Subscribe today to stay informed and get regular updates from Kobiton

Ready to accelerate delivery of
your mobile apps?

Request a Demo