Prepare for the next wave of disruption by disrupting what’s already there
“Continuous everything” is…everything in today’s business world. Continuous delivery, continuous quality, continuous service, and everything that goes into providing those in this age of the customer are paramount to every successful enterprise.
So says Wayne Ariola, chief marketing officer, Tricentis. And in these hyper-competitive times when “software is eating the world,” CIOs are keenly focused on digital transformation initiatives like cloud, agile development, and DevOps as a means to ensure their company is disrupting and not disrupted.
From an IT perspective, this requires faster delivery of innovative software and greater agility—the ability to pivot as soon as you identify a new opportunity or challenge. As a result of greater adoption and investments in agile and DevOps methodologies, today’s developers are producing software faster than ever before, and operations teams can now deliver new releases to applications in a matter of seconds.
But when only development and operations are transformed, the same basic story always emerges: the software can be developed and delivered faster, but software testing cannot keep pace. When testing is overlooked, software quality takes a huge hit, and organisations are forced to either knowingly add greater risk to the business by releasing software that hasn’t been testing thoroughly, or slow down delivery and miss accelerated deadlines and demands from customers in order for testing to be completed. Neither is acceptable in this day and age.
The testing tools and processes architected for traditional, months-long release schedules simply don’t fit modern delivery cadences which require immediate quality feedback with each new build. It’s a sad but simple fact: If you have a slow testing process standing between highly accelerated development and operations processes, there’s no way you can achieve the desired—and oftentimes, required—delivery speed necessary for avoiding disruption.
Automation equals value… to a point
Businesses don’t want, or need, “perfect” software. They want to deliver new, business differentiating software as soon as possible. To enable this, development and testing teams need fast feedback on whether their latest innovations will work as expected or crash and burn in production. These teams also need to know if code changes somehow broke the core functionality that the customer base—and thus the business—depends upon.
Test automation is essential for meeting this challenge, but it’s not sufficient on its own. This is where “Continuous Testing” comes in. 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. It evolves and extends test automation to address the increased complexity and pace of modern application development and delivery.
This reinvention of software testing remains, for many, an untapped opportunity to accelerate the delivery of innovative software. Continuous Testing goes beyond test automation by involving practices such as:
- Aligning testing with your business risk
- Applying service virtualisation and stateful test data management to stabilise test automation for Continuous Integration
- Performing exploratory testing to expose “big block” issues early in each iteration.
Granted, Continuous Testing is not a “quick fix.” However, the rewards are truly great. When you reinvent testing, you also unlock a stealth strategy to surge ahead of your competitors.
Testing’s transformation from roadblock to catalyst
Testing has traditionally been viewed as a roadblock to innovation due to the fact that it was being largely performed manually.
Most organisations who made investments in automation to speed up their testing efforts quickly discovered that any code changes/additions still resulted in extensive manual effort around maintenance of their automation test suite.
Thus, lofty promises made by vendors around automation rate gains were never achieved and were made further from reality as application complexity grew with each release.
By moving beyond test automation’s limited scope, Continuous Testing has undeniably become imperative—especially now that 97% of organisations have adopted Agile and 71% are practicing or adopting DevOps. New Forrester research confirms that Continuous Testing is one of the key factors separating Agile/DevOps leaders from Agile/DevOps laggards.
The continuous testing journey
Like the move to cloud from traditional on-premises hosting and development, Continuous Testing is a full-scale transformation. We’re not talking about simply adding more tools or replacing existing tools. Continuous Testing requires a deeper shift across people, cultures, processes, as well as technologies.
While Continuous Integration is primarily a tool-driven activity and Continuous Delivery is a tool- and team-driven activity, Continuous Testing involves tools, teams, individuals, and services. Building and integrating code changes is certainly important. However, if the automated delivery process cannot identify how changes impact business risk or disrupt the end-user experience, then the increased frequency and speed of Continuous Integration and Continuous Delivery could become more of a liability than an asset.
Given all the change required to just get such an initiative off the ground—much less to see it succeed—executive buy-in and sponsorship is key. I firmly believe that extending investment commitments to the testing process as well as the development process is key for fully preparing the organisation to face the current and next wave of digital disruption.
The author is Wayne Ariola, chief marketing officer, Tricentis.