While our recently launched whitepaper discusses the current state of software testing and AI, this two-part blog series will delve into what we call the ‘AI ripple effect’ in both software development and testing. Let’s dive right in and examine some of the factors contributing to the rapid growth of AI-led software development and testing:
AI's integration into developers' daily activities has become pervasive throughout their workflow, and this trend has become even more evident with the rise of generative code tools like GitHub Copilot, which have gained mainstream adoption.
In the short term, the most notable consequence we anticipate is a substantial increase in developer productivity. For example, in their empirical evaluation, GitHub found that developers who used GitHub Copilot completed the study’s task 55% faster than the developers who didn’t use GitHub Copilot. While it might tempt some organizations to trim down their IT investments, savvy ones will jump at this opportunity to weave more complex software or supercharge their teams.
Furthermore, the advancements in software development driven by AI are expected to incentivize similar improvements in E2E, integration testing, and other test categories. This pattern has been observed for decades, where advancements in development have often catalyzed progress in other areas. We anticipate that this time will be no different.
And other areas of the life cycle, like UI design, are likely to be affected in the short term. AI is already capable of producing app prototypes from narrative requirements. These can immediately be leveraged as boilerplates for designers to work from. It is just a matter of time until generative UI design products are able to account for the existing design systems or current state and propose incremental improvements (vs. always starting from scratch).
Overall, we’ll see productivity gains across the lifecycle, allowing people to focus more on high-value activities and ultimately produce more and better software.
Amongst a wide range of skills required to build software effectively, some of the activities are still largely routine and have a high potential for automation using AI. This goes beyond traditional script-based automation, as AI will leverage more context and more data to automate higher complexity tasks that have, up to this point, been possible via human labor.
For example, AI can help with bug detection, using all the sources of information a developer does (like log files, console messages, monitoring metrics, and the code itself) but scanning and correlating them faster to achieve root cause recommendations.
It can also help with refactoring, going beyond traditional mechanisms that are able to refactor small pieces of code. It can investigate a codebase, and its runtime behaviors and come up with a better split for services. It can also actually code those changes, using the original code as input and focusing only on achieving high-level engineering objectives like better scalability or risk reduction.
Education has traditionally been a highly scripted, one-size-fits-all endeavor.
AI will over time help create more effective learning tools and techniques, for example by tailoring lessons and structure to individual learning styles, providing more and more targeted feedback, or making active learning techniques more viable at scale.
The medium-term result will be a growth in the number of software professionals we can train and the pace of their professional development.
That brings us to the end of the first installment of our 2-part blog series on the AI Ripple Effect in Software Development and Testing. Stay tuned for the next part of this installment, where we will discuss further trends surrounding AI in the testing space!