You’ve already developed and optimized your digital transformation strategy. Your organization is staffed with top-notch developers ready to implement the innovative, business-differentiating technologies you need to attract, engage, and retain customers. And you’ve invested in scaling Agile, driving DevOps adoption, automating the application delivery pipeline, and all the other components involved in moving from ideation to delivery as rapidly as possible. So, what could possibly go wrong?
Software testing typically doesn’t garner much attention from IT leaders—until they get a glimpse at how slow, expensive, and archaic their software testing processes really are. In the vast majority of Global 2000 organizations, software testing is still dominated by yesterday’s tools and outdated processes—which simply don’t meet the needs of today’s accelerated and highly-dynamic development processes.
What does this disconnect mean for you?
DevOps is ultimately designed to accelerate the process of delivering business-differentiating software to the end user. However, dismal test automation rates (around 25% for DevOps adopters, under 18% overall) will undeniably prevent you from maximizing the potential speed gains.
Organizations transform Dev and Ops, but then testing cannot keep pace…and they get stuck. It’s a sad but simple fact: if you have a slow testing process standing between highly-accelerated development and operations processes, there’s just no way that you can achieve the desired delivery speed.
Risk to Your Brand
Now that software is the primary interface to the business, a software failure is a business failure. Yet, with today’s compressed and continuous delivery cycles, it’s simply impossible to test everything before every release—even if testing is highly automated.
To protect your brand while accelerating software delivery, testing must be re-aligned to focus on your top business risks. Traditional testing takes a “bottom-up” approach to validate whether new functionality works as expected. Modern delivery processes require testing to automatically assess the overall impact to the core user experience and instantly determine if the release candidate has an acceptable level of business risk.
There are hard costs associated with trying to retrofit outdated testing processes and tools into modern delivery processes. Many organizations try to bridge the testing gap by throwing an abundance of manual testers at the problem…typically through a global system integrator. By the most recent estimates, this approach consumes approximately 35% of an average IT application development budget—a total of $35 billion per year, globally.
A way to help testers achieve high test automation rates would let you reallocate a large portion of that testing spend towards the creative tasks that set your organization apart.
The Path Forward: Continuous Testing
Software testing must change. Software testing remains dominated by yesterday’s application lifecycle management tools and manual testing—and they simply don’t meet the needs of today’s accelerated development processes and digital transformation initiatives.
The fact of the matter is that previous efforts to automate software testing have not yielded the expected results due to:
- High maintenance: Traditional script-based automated tests need frequent updating to keep pace with highly-dynamic, accelerated release processes. This results in an overwhelming amount of false positives that require burdensome maintenance and/or cause automation efforts to be abandoned.
- Slow execution time: Traditional tests are time-consuming to execute, so it is not practical to run a meaningful set of tests on each build. This means the team lacks fast feedback on whether their changes did more harm than good.
- Frequent failure: With today’s complex, interconnected applications, test environment inconsistencies commonly impede test automation efforts and result in false positives. Again, this requires burdensome follow-up and/or causes automation efforts to be abandoned.
Today, the pressure of digital transformation requires a level of test automation that far surpasses the capabilities of legacy testing platforms. Balancing the business’s demand for speed with their tolerance for risk requires Continuous Testing, which provides real-time insight into the application’s business risk.
Continuous Testing is the process of executing automated tests as part of the software delivery pipeline in order to obtain feedback on the business risks associated with a software release candidate as rapidly as possible. While test automation is designed to produce a set of pass/fail data points correlated to user stories or application requirements, Continuous Testing focuses on business risk and providing insight on whether the software can be released.
[Read new Forrester research findings on how Continuous Testing separates DevOps leaders from laggards]
[Read more DevOps research at the Tricentis Resource Center]