If you had asked us, we could have told you. But it’s better when 5,296 software professionals from around the world say it for us.
Agile development slows down for a number of reasons, including code reviews and deploying to production. Yet the number one reason for development delay is Testing, cited by 52% of software professionals in a recent GitLab survey, the 2018 Global Development Report. The majority of survey respondents identified as a software developer or engineer working for small-to medium-sized businesses (SMB) in the hardware, services, and SaaS industries. Even non-coding events like monitoring and planning didn’t cause as much delay as testing.
Looking to the overall theme of the report, it’s important to note that collaborative teams who have successfully “adopted continuous improvement practices and seamless automation” will most likely slow down at the testing speed bump.
Moreover, the GitLab report noted that “manual testing and a change of plans mid-process (often by non-technical stakeholders) cause headaches for developers. As one respondent summarized, ‘We need to plan better and automate more,’ a sentiment that was echoed across multiple responses.”
What is the root cause?
The testing roadblock must be attacked methodically, and each contributing factor approached with the discipline of removing the human element. Broadly speaking, delays in testing can be defined by resource availability—that is having the right people available to test the applications, and the allocation of the resources times while testing. As we see it, the talent crunch for great testers is only a part of the problem; however, the best testers in the world are limited by the speed they can write code.
Though the promises of past automation tools have tried to solve for these issues, the ability for companies to leverage test automation effectively still relies on the tedious process of writing automation, having the expertise to know what to test, and then managing the automation as the applications change. As a result, we find people frequently spend more time trying to test than actually testing.
Fortunately, artificial intelligence has evolved to the point where automating end-to-end processes can be done to enable quality at scale, all without the technical effort historically required to automate these systems. To get applications out of the door quickly and guarantee high quality, teams can leverage artificial intelligence to create and maintain automation effortlessly in order to unlock the value of the applications they’re developing. By allowing testing to become autonomous, we no longer need to focus on the manual and repetitive tasks of testing. We can shift towards a focus on quality, increasing time to value.
How does Autonomous Testing accelerate the development process?
To develop autonomous testing, we looked to existing organizations to understand their existing people, processes, and technologies in order to find areas where artificial intelligence can solve the tedious, repetitive tasks in testing to eliminate the testing bottleneck. The critical bottleneck we identified was creating and maintaining test automation, areas we’ve solved with the help of artificial intelligence. By using AI to continuously discover the objects in an application and automatically create scripts from existing test cases, we’ve been able to allow testing to focus on quality, not writing hundreds of lines of Selenium, reducing the time it takes to automate a single test from hours to minutes.
Combining artificial intelligence with skilled QA teams will not only eliminate the testing bottleneck, it will accelerate time to value, increase feature velocity for agile teams, and improve quality across the board.