From the Blogosphere
Five Reasons to Shift Your Focus from Coding to Testing | @DevOpsSummit #DX #DevOps #ContinuousTesting
Investment in continuous testing can deliver more bang-for-the-buck than almost any other budget allocation
Oct. 22, 2017 03:30 PM
Five Reasons to Shift Your Focus from Coding to Testing
Digital transformation leaders have poured tons of money and effort into coding in recent years. And with good reason. To succeed at digital, you must be able to write great code. You also have to build a strong Agile culture so your coding efforts tightly align with market signals and business outcomes.
But if your investments in testing haven't kept pace with your investments in coding, you'll lose. Here's why:
Reason #1: Functional testing is one of your worst DevOps bottlenecks.
It doesn't matter how fast you code if you can't test that code just as quickly. And test you must - early and often - because no one can risk releasing code into production without first thoroughly determining whether it does what it's supposed to do.
Continuous Testing helps you ensure that the right functional testing is performed at the right time in as automated a manner as possible. This automated, rules-driven testing increases your QA throughput, relieving a speed-killing DevOps bottleneck.
Reason #2: Test metrics create a high-value, shift-left feedback loop.
As you do better testing earlier, faster, and more frequently, you don't just head off potential code-related problems earlier, more reliably, and at less cost. You also generate test metrics that help you rigorously and continuously improve your coding behaviors.
These metrics empower you to do everything from pinpointing individual developers' skills shortfalls to correlating QA issues with specific types of digital change. These actionable metrics are essential if you're going to make truly fact-based decisions about digital transformation going forward.
Reason #3: Bad performance is failure.
A key tenet of DevOps is that developers don't just "throw code over the wall" to production - which then assumes sole responsibility for the performance of that code in the real world. Latency, after all, will cost you customers. And latency issues are far costlier to fix in production than in development.
Fortunately, with continuous testing, you can test code performance prior to release. These tests quickly reveal the otherwise hidden impact of code changes on performance. They also help you determine whether potential performance issues can be resolved with more efficient code, more infrastructure, or both.
Reason #4: Your security is at stake.
High-impact breaches have elevated concerns about digital security. These breaches underscore the fact that effective cybersecurity must be multi-layered and not contingent upon the supposed invulnerability of any perimeter or set of endpoints.
Continuous testing plays a vital role in cybersecurity strategy by allowing you to discover and remediate potential vulnerabilities in your apps before they show up in production. Given that even relatively minor code updates can introduce the kinds of software vulnerabilities bad actors exploit to further penetrate your digital business, early effective discovery is a must.
Reason #5: You get more budget back.
Budget is a significant and intractable constraint on digital transformation. Transformation leaders must therefore be careful to only invest their finite resources where they will pay the highest dividends.
Continuous testing is such an allocation. It cuts DevOps labor costs by automating test execution and shifting problems left. It improves productivity by driving down avoidable rework rates. It conserves infrastructure. It helps avoid costly security events.
In fact, depending on the current state of testing at your organization, investment in continuous testing can deliver more bang-for-the-buck than almost any other budget allocation. So, if you haven't yet focused on continuous testing as an enabler of digital transformation, it's probably time to do so. You'll increase your digital capacity, accelerate your digital time-to-market, and better mitigate your digital risk.