Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Software Testing: Roadblock or Accelerator?

DZone's Guide to

Software Testing: Roadblock or Accelerator?

The industry rate of test automation is still only 20%. What do we have to do to change that and move toward continuous testing?

· Performance Zone ·
Free Resource

Sensu is an open source monitoring event pipeline. Try it today.

Rapidly delivering innovative software has grown from a technical challenge into a business imperative. Today’s businesses recognize that they can no longer gain or retain a competitive edge unless they consistently deliver market-leading software innovations faster than their competitors. This is the force that has escalated development movements such as Agile and DevOps into digital transformation initiatives on the boardroom agenda.

Most organizations today have already taken steps to innovate and iterate faster: adopting Agile development, breaking down silos between Dev and Ops, automating the delivery pipeline, and so on. But what next? Business demands for more software faster aren’t going to let up. What else can you do to take your velocity to the next level as expectations continue to rise?

Reinventing testing is an untapped opportunity to accelerate the delivery of innovative software. Most organizations today have already invested considerable time and resources in reinventing the development process and software delivery process. However, testing is commonly overlooked in these transformations. The number and length of testing cycles may change, but the testing process itself remains fundamentally the same. Yes, this is a problem—but it’s also an opportunity. You can further accelerate delivery speed by shifting your attention to testing.

What’s needed to transform testing? Test automation is essential, but it’s not sufficient. We need to:

  1. Break through the barriers to test automation. The industry average test automation rate is hovering around a dismal 20% (and even lower for large enterprises). This must improve significantly in order to provide the fast feedback required for quality@speed. To get there, we not only need faster and simpler ways to create automated tests; we also need a sustainable way to maintain them—escaping the “maintenance trap” created by flaky, brittle tests.
  2. Expand our definition of test automation. As the latest Gartner research on software testing highlights, test automation is more than functional testing at the web UI level. Today, a single end-to-end transaction may involve technologies ranging from SAP and other packaged applications, to APIs, to web and mobile UIs. Test automation must embrace all of these technologies—and it must also extend beyond functional testing to include practices such as load and performance testing.
  3. Recognize that Continuous Testing is more than test automation. Continuous Testing also involves practices such as aligning testing with your business risk, applying service virtualization and stateful test data management to stabilize test automation for Continuous Integration, and performing exploratory testing to expose “big block” issues early in each iteration. Furthermore, it’s not simply a matter of more tools, or different tools. It requires a deeper transformation across people and processes as well as technologies.

Granted, this is not a “quick fix.” It’s achieved through a deeper transformation involving people, processes, and technologies. However, the rewards are truly great. As new Gartner software testing research explains, when you reinvent testing, you better align your quality process with Agile, DevOps, and other digital transformation initiatives—plus you also unlock a stealth strategy to surge ahead of your competitors.

Sensu: workflow automation for monitoring. Learn more—download the whitepaper.

Topics:
agile testing ,test automation ,continuous testing ,test data management ,continuous integration ,devops ,performance

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}