6 min Applications

Sapient.ai CEO: Let developers develop, not test

Insight: Low-code

Sapient.ai CEO: Let developers develop, not test

Despite the rise of automation accelerators and all forms of Artificial Intelligence (AI) – generative or otherwise – software application developers still love to develop, the clue is quite definitely in the name. But the recent popularisation of programming bots has not been without its consequences i.e. much of the industry has been focused on just how challenging so-called ‘citizen developers’ could be in terms of the amount of shadow IT they could potentially generate. Equally, but perhaps at a higher level, if we do allow AI into the developer toolbox, there has been wide-ranging discussion over which functions we should enrich with automation and which we should leave in manual mode. Put simply, there’s as much automation consternation as there is automation acceleration.

Rishi Singh wants AI to focus on code testing as a primary route to make software engineers’ lives better and help give us ever-improved applications. Well, he would do, Singh is the founder and CEO of Sapient.ai, a company that specialises in the provision of generative AI that automatically creates software code unit tests at scale.

But why is this such an issue right now? Because, says Singh, even in the larger software teams run by organisations such as Facebook and Google, there is a concerted effort to shift testing back to the developers themselves. This leads us to a predicament where managers expect developers to become testing superheroes overnight and innovate, write code and take code into production all within an often unreasonable timeframe set by business stakeholders.

“What these managers typically don’t understand is there is a lot of work that must be done before code is genuinely ready for production – and software testing is a large piece of that puzzle. In order to meet the demands of speed while ensuring quality at the same time, developers need automation and intelligence to facilitate a fast-paced development environment so they can get code to production,” said Singh.

OpenAI Codex

The suggestion here is that through the use of deep learning, natural language processing and OpenAI Codex, developers can now create features faster, with fewer bugs and at a lower cost than ever. 

For the record, OpenAI Codex OpenAI Codex is a general-purpose programming model it can be applied to essentially any programming task. According to the team’s web portal, “GPT-3’s main skill is generating natural language in response to a natural language prompt, meaning the only way it affects the world is through the mind of the reader. OpenAI Codex has much of the natural language understanding of GPT-3, but it produces working code – meaning [a developer] can issue commands in English to any piece of software with an API.”

Singh explains OpenAI Codex as an open-source library composed of AI tools that allow engineers to auto-generate high-quality test codes quickly and easily. 

“This library includes resources such as automatic documentation generators, bug detectors and automated refactoring tools, which help reduce coding efforts while meeting quality assurance expectations. By leveraging OpenAI Codex into the development cycle, companies can save time and money while remaining competitive in today’s marketplace,” he said.

Singh and the team at Sapient.ai say that manually writing test code can be a significant bottleneck in software development. It is of course time-consuming and the resulting code can quickly become outdated as the codebase changes. This can lead to delays in shipping features due to the need to rewrite tests and difficulty maintaining consistency across tests. Furthermore, manual test writing can be expensive due to the lack of additional engineers.

Chasing evolving standards

“When developers are hampered by manually writing test code, instead of being able to focus on creating and deploying new features quickly, they must spend time tediously coding unit tests. Not only does this slow down innovation, but it also makes it more difficult for developers to keep up with changing industry standards and customer demands. As customer expectations evolve, so must software products – yet if manual testing processes bog down developers, they may need more time or resources to innovate accordingly,” asserted Singh.

What we are seeing now is a new state of operations where AI technologies are accelerating software development by allowing developers to auto-generate their own test code quickly and efficiently – reducing time spent on testing while still ensuring quality product delivery.

“The traditional stages of software development – requirements gathering, analysis, design, coding, testing and deployment – are all made more efficient by AI. Specifically, in the testing phase of the Software Development Life Cycle (SDLC), AI-driven testing is helping developers auto-generate testing coverage for features ready for production. This automation is removing what is considered one of the last bottlenecks within the modern software pipeline — a bottleneck caused by both personnel and process,” offered Singh, optimistically.

Under the hood — deep learning, Natural Language Processing and OpenAI Codex are changing the way software engineers write and debug code. Deep learning uses neural networks to detect patterns in data sets. 

“By analysing large volumes of information, these algorithms can learn from past experiences and make predictions about future outcomes. This is especially beneficial when debugging code or constructing test scenarios for complex tasks,” said Singh. “The long-term benefits of leveraging AI technology when creating test code go far beyond cost savings; with automated bug detection tools available through platforms like OpenAI Codex, companies can maintain high-quality standards and ensure customer satisfaction scores remain high with minimal effort.”

He explains that Natural Language Processing (NLP) helps automate mundane coding responsibilities such as authoring test cases or generating automated tests based on user requirements. In this manner, software teams can benefit from a more efficient means of communication with their machines. What that gets us to is a point where Quality Assurance (QA) engineers are evolving from their testing role to now become feature developers, themselves adding to the creative drive within the total software application development team.

The automation responsibility

Magical analyst house Gartner predicts that 80% of new applications will include some form of AI by 2025 – and for many, this suggests that auto-generating test code is becoming an integral part of modern software development.

Over and above analyst predictions that might offer us some seemingly quite random percentage as to how much AI-driven automation we will see in the next five years, it’s quite clear that all developer teams will see some. What that reality (arguably) creates is almost a ‘responsibility’ for software engineering managers to make sure they have a degree of automation deployed into their development processes. It also (arguably) throws up a responsibility for individual developers to get used to working with these tools and know where to find them.