Leveraging Service Virtualization for DevOps
November 18, 2016

Tom Wade
Gallop Solutions

As the integration of Development and Operations gains traction among business think tanks to ensure development of quality software products and faster delivery schedules, Quality Assurance (QA) takes center stage. In DevOps QA, developers and testers use agile and lean methodologies to test software for glitches during various stages of its development. As a real test environment with a number of dependencies is difficult to be created owing to cost and other factors, service virtualization strategy helps to set up a virtual test environment to check for desired outcomes of the software or the lack of them.

DevOps is the new paradigm in software development that is meant to bring about synergy among development, quality, operations, delivery and management teams. This helps to bring out better quality products in the shortest turnaround time, thus helping businesses to stay ahead in competition. Traditionally, various departments within an enterprise worked in silos with different work ethos and more often than not, at cross purposes with each other. DevOps adopts lean and agile methodologies to break barriers between various disciplines and work seamlessly to achieve optimization and automation.

DevOps is more to do with a change in the work culture of an organization, where synergy and collaboration are the buzzwords. As development and testing of software simultaneously by involving various disciplines of an organization becomes the new norm, creation of a real test environment where different components of software can be tested assumes significance.

However, there are a few challenges to create a real test environment for DevOps testing:

■ The software architecture has individual components that are either evolving or not tested properly.

■ The individual components or dependencies are mostly developed and controlled by third parties or partners – at locations that are far off from the parent organization.

■ Ensuring dependencies and various teams handling them to work in tandem is difficult.

■ The dependencies might be separated by distance, language and time zones, which are not always possible to be included in a real test environment.

■ Dependencies need real datasets to validate their results, which are not always available.

■ The task of aligning dependencies for testing purpose is cost prohibitive.

■ Delays are inevitable if testing teams have to wait for dependencies to be ready.

The above mentioned challenges can be addressed by using Service Virtualization technique. In this process a virtualized test environment is created, wherein the behavior of dependencies is simulated as if they form part of the embedded software architecture with connections to other parts of the system. Here, the entire system architecture is not simulated, but only the ones that are needed for testing purposes. Service Virtualization strategy does not require setting up of a real test infrastructure or data sets, but helps testing or development teams to record the behavior of dependencies – if they perform as desired.

How Service Virtualization Works to the Advantage of DevOps:

■ Creates a functional test environment without real dependencies and datasets

■ Leads to cost savings, as setting up of real test infrastructure is not required

■ Shorter turnaround times as testing teams need not wait for dependencies to be ready or available

■ Any number or type of datasets can be used to check the behavior of dependencies, which can be helpful to study abnormal behavior of components (if any)

■ Glitches thus identified are addressed promptly leading to better quality software made available in the shortest time

■ Better quality product leads to better user experience, thus better brand value

The integration of various disciplines in a business to work in tandem is the hallmark of DevOps and leveraging service virtualization to achieve the same is the proverbial icing on the cake with respect to savings on cost and time, and enhancement of an organization’s brand value.

Tom Wade is a Senior Manager at Gallop Solutions.

The Latest

June 28, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 5, the final installment, covers how Agile improves product quality and the customer experience ...

June 26, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 4 covers how Agile impacts team productivity ...

June 23, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 3 covers how Agile enables you to grow and adapt to change ...

June 21, 2017

Why Agile? DEVOPSdigest asked the experts for their opinions on what are the most important advantages of being Agile. Part 2 is all about speed ...

June 19, 2017

Earlier this year, DEVOPSdigest featured a list of expert opinions on the essential steps to become agile. Now that we have an idea on how to achieve agility, however, we have to consider why. What's the payoff? With this question in mind, DEVOPSdigest asked the experts — including analysts, consultants and vendors — for their opinions on what are the most important advantages of being Agile ...

June 15, 2017

In the development community, creating additional efficiency through improved collaboration has been prevalent for some time. But despite the head start on the rest of the corporate world when it comes to collaboration, many organizations function today as they did 15-20 years ago. Since time is money in the tech world, outdated collaboration is a huge missed opportunity ...

June 14, 2017

Given the efforts we put in these days to deconstructing monolithic applications, and using distributed microservices to make us more agile, the potential for app performance to take a nosedive because of unseen (and unanticipated) network congestion and outages is only getting greater. There is help at hand, though, in the form of new ways to program network awareness directly into your code ...

June 12, 2017

What if you discover a fatal error or an exploit in your app? What if your app is down during a crucial time? As a developer, how you react to a crisis can mean the difference between minor blip and an embarrassing or costly company blunder. Here's a crisis management plan to get things right when they go wrong ...

June 08, 2017

Recently, the results from SmartBear Software's annual survey, the State of Code Review 2017: Trends & Insights into Dev Collaboration were released. One point I found interesting is that it suggests only 66 percent of organizations can get releases out on time. Why are the other 34 percent struggling to get releases out the door? ...

June 06, 2017

Today's app development landscape is competitive and expensive. Thousands of apps are released each month, and user acquisition and retention are costing app developers millions. User abandonment is one of the main battles of every app developer — as every lost user means another wasted investment ...

Share this