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

August 17, 2017

Mobile SDKs (software developments kits); love them or hate them, they're here to stay. They provide our apps with all sorts of functionality that would be incredibly time consuming to build, and they give us another means to monetize our apps. While it would be difficult to argue that SDKs aren’t useful, it’s also hard for developers to get a good idea of the amount of resources used by each SDK once the app is in production ...

August 15, 2017

A common belief within DevOps circles is that automation not only enables greater frequency of delivery and deployment, but improves its overall success rate. Whenever manual intervention is required, the chances of errors creeping in increases. Human error is a significant factor in many an outage, after all ...

August 14, 2017

DevOps and NetOps are both far more generous in their opinion of the other with respect to prioritization of efforts than traditional archetypes purport them to be, and they have a lot in common – even though they may disagree on details – according to a new survey by F5 ...

August 10, 2017

Only 12 percent of organizations can claim that their whole organization is on the path to business agility even though more than two thirds of survey participants agreed that agile organizations are better able to quickly respond to dynamic business conditions, according to a new survey from CA Technologies ...

August 09, 2017

Alongside its clear benefits, DevOps brings unique challenges when developing and operating a mobile environment. Mobile app developers and development teams face a unique set of requirements relating to collaboration, testing, and release. Technology fragmentation, disparate back-end systems, updates that require user action, and poor instrumentation can impede the DevOps process and become critical roadblocks to agile mobile development, ultimately impacting app retention and the bottom line ...

August 07, 2017

A crashing app might be a deal breaker, no matter how heavy the load that an alternative website entry point can handle would be. It is all about quickly verifying compliance against key functional and non-functional requirements in order to meet aggressive release schedules as part of the Go-to-market strategy. This means positioning unit testing, UI testing, API testing, and, of course, performance and load testing — as pillars of SDLC ...

August 03, 2017

Most software developers make themselves easy targets for hackers, even when they are behind a corporate firewall, according to a new survey from Netsparker Ltd. ...

August 01, 2017

Your top priority is to improve application development agility, but you may run into roadblocks put up by a security team that (mistakenly) believes speed is the enemy of effective cybersecurity. A new survey finds a majority of enterprises are working to overcome those roadblocks by integrating security into their existing DevOps methodology ...

July 31, 2017

Agile development compresses software testing cycles, jeopardizing risk coverage and opening the door for software failures. Here's what you can do ...

July 27, 2017

While 75 percent of organizations highlight continuous testing as critical or important, only a minority of survey respondents have made exceptional progress acquiring the necessary knowledge and key enablers to drive digital transformation, according to a global study by CA Technologies ...

Share this