Traditional Quality Assurance Is Dead (And Why That’s a Good Thing)
Tricentis sponsored this post.
“Digital business is driving a faster pace of delivery to support the continuous delivery of incremental changes. Traditional testing cannot meet this pace nor the expanded view of quality required.”— “DevOps and Cloud Speed Are Driving the End of QA as We Know It,” Thomas Murphy, Joachim Herschmann, Gartner, 13 August 2018.
Undeniably, traditional quality assurance (QA) must change to accelerate application delivery and become a catalyst, rather than a barrier, to digital transformation. But what is the ultimate goal of QA in the new world of DevOps and cloud speed — and what’s needed to achieve it?
Those are the burning questions that Gartner’s “It’s the End of QA as Know It (And We Feel Fine)” aims to answer. This package includes the Gartner reprint “DevOps and Cloud Speed Are Driving the End of QA as We Know It” as well as the Tricentis report “Reinventing Software Testing for DevOps and Modern Application Delivery.”
Here’s an overview of some of the key points and recommendations.
Recognize that Traditional QA Isn’t Working
Traditional QA isn’t working for a number of reasons:
- Software testing remains the number one bottleneck in the software development and delivery process. 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;
- Software testing consumes 30% to 40% of an organization’s application budget;
- Traditional (siloed) development/testing structures focus on optimizing the subcomponents — distracting us from the real goal of optimizing the broader user experience.
QA Must Shift from ‘Quality Assurance’ to ‘Quality Assistance’
With this shift, quality becomes a shared responsibility rather than the sole responsibility of one part of the team. The QA role is then expanded and elevated to assist teams with defining and achieving quality objectives.
Traditional QA is all-too-often the roadblock that stands between highly-accelerated Dev processes and highly-automated Ops-driven delivery processes. However, a re-envisioned QA helps the entire team collaborate to ensure that the release doesn’t place the business at risk — undermining the very “customer experience” that digital transformation is dedicating to enhancing.
Adopt a Continuous Approach to Quality
Accelerating time to market without a strategic focus on quality is a fast way to drive away the customers that you were trying to attract and retain. As Gartner notes, “Going fast isn’t jumping out of a plane without a parachute (though that may be the fastest way back to earth). Cross-functional teams must adopt key practices to integrate testing and quality into the process.”
This MUST involve Continuous Testing, which could involve “shift left” as well as “shift right.”
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 as rapidly as possible. It really boils down to providing the right feedback to the right stakeholder at the right time. For decades, testing was traditionally deferred until the end of the cycle. At that point, testers would provide all sorts of important feedback… but nobody really wanted to hear it then. It was too late, and there was little the team could feasibly do, except delay the release. With Continuous Testing, the focus is on providing actionable feedback to people who really care about it and when they are truly prepared to act on it.
Continuous Testing is commonly lumped together with “shift left.” However, to deliver the right feedback to the right stakeholder at the right time, Continuous Testing needs to occur throughout the software delivery lifecycle — and even beyond that to production (e.g., monitoring information from production and feeding that back from the quality perspective). Just as the name indicates, Continuous Testing involves testing continuously. Simply starting and finishing testing earlier is not, by definition, Continuous Testing.
The Path Forward
How do you reach this level of continuous quality and Continuous Testing? The path forward is different for every team. Some might be focused on automating traditionally manual processes while others might be wrestling with the orchestration and correlation of all the various test automation tools they’ve come to master. The challenge is getting to the point where you can report on whether an overarching application or project involving all these different teams – with different cadences, architectures, tool stacks, structures, and challenges — has an acceptable level of risk.
Ultimately, you want to ensure that you have the people, process, and technologies required to:
- Expose change impacts in minutes with advanced, resilient test automation that’s built for DevOps and cloud speed;
- Modernize end-to-end testing, including testing across SAP and packaged apps as well as APIs, mobile, web, etc.;
- Accelerate release cycles by orchestrating and scaling testing efforts across your teams, projects, applications, and tools (including open source);
- Reduce risks with centralized visibility/traceability, predictive analytics, and “release readiness” dashboards.
Feature image via Pixabay.