An introduction to service virtualization

One of the concepts that is rapidly gaining popularity within the testing world – and in IT in general – is service virtualization (SV). This post provides a quick introduction to the SV concept and the way it leverages automated and manual testing efforts and thereby software development in general.

What is service virtualization?
SV is the concept of simulating the behaviour of an application or resource that is required in order to perform certain types of tests, in case this resource is not readily available or the availability or use of this resource is too expensive. In other words, SV is aimed at the removal of traditional dependencies in software development when it comes to the availability of systems and environments. In this way, SV is complementary to other forms of virtualization, such as hardware (VPS) or operating system (VMware and similar solutions) virtualization.

Behaviour simulation is carried out using virtual assets, which are pieces of software that mimic application behaviour in some way. Although SV started out with the simulation of web service behaviour, modern SV tools can simulate all kinds of communication that is performed over common message protocols. In this way, SV can be used to simulate database transactions, mainframe interaction, etc.

From a ‘live’ test environment to a virtual test environment

What are the benefits of using service virtualization?
As mentioned in the first paragraph of this post, SV can significantly speed up the development process in case required resources:

  • are not available during (part of) the test cycle, thereby delaying tests or negatively influencing test coverage;
  • are too expensive to keep alive (e.g., test environments need to be maintained or rented continuously even though access is required only a couple of times per year);
  • cannot readily emulate the behaviour required for certain types of test cases;
  • are shared throughout different development teams, negatively influencing resource availability.

Service virtualization tools
Currently, four commercial service virtualization tools are available on the market:

Furthermore, several open source service virtualization projects have emerged in recent years, such as WireMock and Betamax. These offer significantly less features, obviously, but they just might fit your project requirements nonetheless, making them worthy of an evaluation.

Personally, I have extensive experience using Parasoft Virtualize and have been able to successfully implement it in a number of projects for our customers. Results have been excellent, as can be seen in the following case study.

A case study
The central order management application at one of our customers relied heavily on an external resource for the successful provisioning of orders. This external resource requires manual configuration for each order that is created, resulting in the test team having to file requests for configuration changes for each test case. The delay for this configuration could be as much as a week, resulting in severe delays in testing and possible test coverage (as testers could only create a small amount of orders per test cycle).

Using service virtualization to simulate the behaviour of this external resource, this dependency has been removed altogether. The virtual asset implementing the external resource behaviour processes new orders in a matter of minutes, as opposed to weeks in case the ‘real’ external resource is required. Using SV, testers can provision orders much faster and are able to achieve much higher test coverage as a result. This has resulted in a significant increase in software quality. Also, SV has been a key factor in the switch to an Agile development process. Without SV, the short development and testing cycles associated with the Agile software development method would not have been possible.

Service virtualization on Wikipedia

9 thoughts on “An introduction to service virtualization

  1. Hi,

    Can you please let me know what are the open source SV tools which which does not require any WSDL/WADLs for virtualizing the web services.

    Thanks ,

    • Hi Sunitha,

      do you require virtualization of SOAP services? Or of RESTful services?

      For REST, I’ve found a couple of very useful tools for building stubs / virtual services quickly:

      – WireMock (
      – MockServer (

      I plan to write a post on WireMock soon.

      For SOAP services, it’s a little harder to find a suitable tool that lets you create stubs quickly without a WSDL. I haven’t found any so far.

  2. Really interesting article. Your readers might find it helpful to look at IT Central Station (a kind of “Yelp” for IT Solutions). Real users have reviewed and rated all the top Service Virtualization tools:

    Many users look at HPE Service Virtualization when deciding which tool to go with. This IT Manager writes: “It’s a much more cost efficient approach to server deployment. Not as much hardware is being used now.” To see the rest of his review plus reviews of others click here:

    Hope this helps.

    • Hey Wojciech,

      thanks! This reminds me I still need to start toying around with TrafficParrot. I will get there, one day. One remark with respect to your comparison sheet: I think it would be more honest to add a foot note stating that JMS and MQ support is only available in the paid versions of TrafficParrot.

      Also, that complete list of SV tools at the bottom of the same page is quite out of date in places. I know it’s a lot of effort to compose and maintain lists like these, but I’d rather have no list than an incorrect one. Or just names, short descriptions and links to product sites.

      Still, thank you for your contribution, it IS appreciated šŸ™‚

      Looking forward to talking to you again soon!

      • Thanks Bas for taking the time to look at the comparison. Fair comments, I have updated that page, thank you! šŸ™‚

        If anybody has any other suggestions, I would be happy to update it.

  3. Hi Bas,

    Would it be possible for you to give us various approach for virtualization? I am specifically looking at some framework level approach which can be utilized at an org level and once implemented, can be used by Development team, functional tester performance tester alike. Tool: DevTest or Parasoft

    • Hello Shant,

      I have no idea what ‘a framework level approach which can be utilized at an org level’ means. Are you looking for a reusable solution? If so, most commercial tools offer the option to share and reuse virtual assets (stubs, simulations, whatever you want to call them), and open source tools can be combined with GitHub to do the same.

      I’d be happy to give you a more specific answer, but I need a better question first šŸ™‚ Could you send me some more details on your situation and what you’re looking to do with SV? Feel free to send me an email at Thanks!

  4. Hi Bas
    Excellent overview of service virtualization.
    It is great that open source alternative were provided to commercial options for those who want to start testing the tools.

Leave a Reply to Sunitha Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.