Directory Image
This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with our Privacy Policy.

Leveraging Service Virtualization for Continuous Testing

Author: Michael Wade
by Michael Wade
Posted: Nov 27, 2017

In today’s competitive digital space, software development teams are under pressure to deliver timely and innovative applications that can help organisations to be a step ahead of others. This hurried approach by app developers often misses out on one crucial aspect – ensuring quality. This is due to the fact that quality testing at all stages of app development / system integration requires a real test environment, which more often than not is either cost prohibitive, difficult to configure or simply not available. The dependencies can provide erroneous responses due to the following reasons:

  • Not fully developed to generate a response
  • Controlled by a third party
  • Present at remote locations thus not possible to bring them on site
  • Available partially or at inconvenient times
  • Difficult to leverage as required by many teams, simultaneously
  • Require manual intervention at their ends to generate responses

To get over the problem of dependencies giving erroneous or no responses, development teams or testers make use of the Service Virtualization method.

Service Virtualization: This method provides access to heterogeneous components or dependencies that are part of an application and gets responses thereupon by replicating them as virtual assets. The applications that are dependent on such components can either be API driven or cloud based. In other words, Service Virtualization Strategy can do away with the presence of actual components, wherein the actual components can be in the form of databases, mainframes, ERPs, web services etc. Service Virtualization practices involve generation of responses from virtual assets upon receipt of service requests. For example:

a) If the virtual asset is a database, the service request could be in the form of a SQL query and the response could be in the form of a specified data row.

b) If the virtual asset is a web service, the service request could be in the form of a XML statement and the resultant response could be in the form of another XML statement.

The upside of Service Virtualization is that it does not create entire virtual systems but only specific dependencies that are needed for development, integration or testing. Importantly, Service Virtualization for Continuous Testing builds an ecosystem (locally or in the cloud) wherein the developer and the tester can operate parallel to one another and identify errors at an early stage. These errors, if detected later (during integration or end to end testing,) can lead to cost escalation. Thus, Service Virtualization leads to the delivery of better quality applications within shorter time frame.

Service Virtualization strategy is achieved through:

  • Recording live interactions among dependencies
  • Analysing historical message logs among dependencies

Service Virtualization practices should involve the following:

  • Identification of test data and determination of test specific dependencies
  • Implement the behaviour of test specific dependencies
  • Incorporate service contract specific APIs in virtual assets that underline service requests and desired outcomes
  • Input validation of transactions to prevent undesirable or no outcomes
Leveraging
About the Author

Michael works for Cigniti Technologies, which is the world's first Independent Software Testing Company to be appraised at CMMI-SVC Level 5, and an ISO 9001:2008 & ISO 27001:2013 certified organization.

Rate this Article
Leave a Comment
Author Thumbnail
I Agree:
Comment 
Pictures
Author: Michael Wade

Michael Wade

Member since: Aug 26, 2015
Published articles: 94

Related Articles