CI/CD

How Shifting Testing Left Can Boost DevOps Velocity

DevOps is all about balance: How can speed and quality be balanced to best meet the demands of customers who want exceptional digital experiences as fast as possible? DevOps looks to meet these expectations head-on by helping to deliver a faster cadence of new builds to customers while keeping quality high.

What’s more, quality should continuously improve, build-over-build, so that fewer fixes are needed with each iteration. While inserting more testing earlier in the development life cycle may at first seem like a hindrance to the speed DevOps promises, it will soon empower teams to release higher-quality software, faster, as shift-left testing becomes a routine part of the team’s processes.

Many organizations wait until the very end of their software development life cycle (SDLC) before executing testing. With this structure, testing can and does find unexpected bugs late in the SDLC, where issues are the most difficult and expensive to resolve. With this approach, testing becomes a bottleneck, impacting that ever-important goal of efficient and Agile software development and deployment. An unexpected outcome: it also negatively affects team morale, as developers who spent plenty of time and effort to build and ship code quickly now have to delay their deployment process in order to correct issues.

There is a more efficient approach that organizations can put into place, however.

Shifting Testing Left

Testing can be implemented during and throughout the critical stages of design and development of software, instead of after.

This is true regardless of how a team approaches development methodologies: Agile, waterfall, continuous or a combination of these methods. When testing is shifted left, it becomes the responsibility of the entire organization, not just dedicated QA testers. That means SDETs, developers and others should all be active in testing along with QA. When these groups are involved in testing early on in the SDLC, there are plenty of benefits, including:

  • A list of user workflows and test validation conditions can be created to streamline testing during development processes.
  • Testers can catch potential issues much earlier in the process so they can be fixed during earlier stages, instead of after code is done being developed.
  • Developers and testers can work with code they are familiar with to edit existing code and fix issues themselves.

Building a Continuous Feedback Loop

Another major advantage of shifting testing left in the SDLC is that it creates a continuous feedback loop. Software can be updated and improved continuously as it is being built, instead of when it is “complete” and ready to ship. This model of a feedback loop saves time and ultimately ensures no show-stopping issues make their way into the hands of customers.

Test Automation in the SDLC

One more key element to shifting testing left is test automation. Unfortunately, automation is often not leveraged completely or to its fullest potential. A recent report found that 74% of QA testers see test automation taking place outside the regular test cycle. Moreover, only 45% of organizations use test automation, and only 50% use it for continuous integration/continuous delivery (CI/CD).

For test automation to succeed, it must involve developers creating the automation code and testers, then editing, maintaining and executing that code. When test development, including automated testing, is moved into the SDLC properly, it leads to automated and integrated unit testing, which helps achieve that goal of increased efficiency for DevOps teams.

Automation is obviously crucial to the success of DevOps, but manual processes must also be considered. Some types of testing – like exploratory, payments, usability and accessibility – cannot be automated (at least not fully), but they should also be accounted for as part of a shift-left strategy.

The origin of DevOps methodology and the focus of developers involves the goal of building and deploying code as quickly as possible. But testing software to make sure it works as intended is an important step that should be included throughout the SDLC. When testing only happens at the end of the process, it can be an inhibitor to the overall goal of increased development velocity. But when testing is shifted left and involved earlier on in the SDLC, it can do the opposite – by creating a continuous feedback loop and implementing automation to drive improved DevOps velocity.

Ultimately, shifting testing left in the SDLC leads to features getting to users and customers faster, an overall improvement of software quality and a reduction of QA testing time and bug fixes.

Rob Mason

Rob Mason has more than 20 years of operational, management, and software development experience across many different companies, languages, platforms, and technologies. A meticulous builder and obsessive tester with an eye for talented engineers, Rob’s teams produce innovative, robust software. And, through his own example of hard work and ingenuity, he inspires his teams to reach new heights. Most recently, Rob was Founder and Executive Vice President of Engineering at Nasuni, where he took the company from initial product concept to more than 10 Petabytes of managed storage consisting of billions of files in a global file system spanning more than 50 different countries and generating more than $10M in recurring revenue. Prior to Nasuni, Rob oversaw all development and quality assurance as the VP of Engineering at Archivas from 2004 to its acquisition by Hitachi. After the acquisition, he continued in his role as VP of HCAP Engineering, managing the integration of his team with Hitachi’s and supporting the broad rollout of HCAP. Rob holds upwards of 30 patents including several in the area of test automation. He has a Bachelor of Science degree from Rensselaer Polytechnic Institute and a Master of Business Administration degree with honors from Rutgers University. Rob lives on a Horse Farm in Massachusetts with his wife.

Recent Posts

IBM Confirms: It’s Buying HashiCorp

Everyone knew HashiCorp was attempting to find a buyer. Few suspected it would be IBM.

13 hours ago

Embrace Adds Support for OpenTelemetry to Instrument Mobile Applications

Embrace revealed today it is adding support for open source OpenTelemetry agent software to its software development kits (SDKs) that…

21 hours ago

Paying Your Dues

TANSTAAFL, ya know?

23 hours ago

AIOps Success Requires Synthetic Internet Telemetry Data

The data used to train AI models needs to reflect the production environments where applications are deployed.

3 days ago

Five Great DevOps Jobs Opportunities

Looking for a DevOps job? Look at these openings at NBC Universal, BAE, UBS, and other companies with three-letter abbreviations.

3 days ago

Tricentis Taps Generative AI to Automate Application Testing

Tricentis is adding AI assistants to make it simpler for DevOps teams to create tests.

5 days ago