Once you've decided that using service virtualization (SV) to eliminate inefficiencies caused by vital but difficult-to-access dependencies in your test environments is the way to go, one of the most important decisions you'll have to make is:

  • Which SV technologies to use
  • SV tools are available from most major testing solution suppliers, including CA, Micro Focus, Parasoft, Tricentis, etc.

Aside from that, smaller businesses have formed whose core offering is a service virtualization tool (TrafficParrot, for example). Finally, much like the test automation ecosystem, various open-source solutions have emerged, the most notable of which are WireMock and Hoverfly.

Table of content

  1. Benefits of Open Source and Commercial Solutions
  2. Benefits of COTS Solutions

Open source service virtualization solutions appear to have been the default choice for many development teams seeking a solution that meets their SV needs. This is similar to what has been going on in the test automation sector for a time now. In this blog article, we will discuss the benefits and drawbacks of this bias toward open-source goods and offer some advice on how to choose the right tool for your organization and situation.

Benefits of Open Source and Commercial Solutions

Vendor lock-inNo license costsEnhanced special functionality
You don't have to worry about vendor lock-in when you use an open-source tool.Unlike commercial off-the-shelf (COTS) tools, open-source tools have no license costs, whereas commercial off-the-shelf (COTS) tools do.If you need special functionality, open-source tools can be enhanced (if you have the necessary development skills). You can submit a feature request to a vendor using COTS tools, but there's no guarantee that your request will be addressed (and if it will be addressed at all).

Additional great topics on software testing:

MISRA C Rules & Coding Standards Compliance

ISO 26262 Compliance & Tools

DevSecOps: Software Security Testing at Speed

SAST: Software Security Testing Made Simple From the Start

API Security Testing: Identifying API Security Risks

Application Security Testing – Security Testing Made Simple

Benefits of COTS Solutions

COTS systems, on the other hand, have their own set of advantages:

They provide a more comprehensive set of features out of the box, such as support for a wide range of transport protocols and message formats. In contrast, open-source tools frequently concentrate on a single protocol and/or message format.

Usually, they have a lower barrier to entry, for example, because they provide graphical user interfaces that make them more accessible to a broader audience. In contrast, open-source tools may require you to write code or other technical specifications to get them functioning.

Professional online and in-house assistance may be included in the license purchase price, whereas most open-source programs merely offer best-effort support.

This is far from an extensive list of the advantages of both types of tools. Also, several of the advantages listed above come with their caveats. For example, the cheaper initial cost of open source tools (no need to buy a license) is frequently outweighed by the additional effort required to produce simulations as powerful as those that can be created out of the box with commercially licensed tools.

When considering whether or not to implement a SV tool, keep in mind that the total cost of ownership (TCO) includes more than just license payments.

When comparing open source and commercial products, it's also crucial to remember that they're often sold to various audiences, and their designers must cater to these varied groups accordingly. Open source tools are typically adopted from the bottom up: they are downloaded and tested by a developer or development team. If successful, they are gradually accepted by a larger audience inside the organization. On the other hand, commercial tools are frequently sold to development managers or C-level executives, who control the money that allows licensing purchases to be made.

Note that this is a generalization, and it may or may not work in your organization, but I believe the above holds in general.

We've seen some of the advantages of open source and COTS SV tools. Let's look at some of the drawbacks.

First and foremost, recognize that no instrument is necessarily superior to another (even though some tool creators and vendors seem to think otherwise, judging by their promotional and social media outings). On the other hand, Tool A may, in certain cases, be a better fit for a given situation than tools B, C, and D.

What instrument is optimal for a specific circumstance is determined by several criteria, including but not limited to:

  1. How well the relevant transport protocols and message formats are supported out of the box (improved support makes for easier implementation).
  2. The level of SV experience of the persons who will be using the SV tool.
  3. The level of intricacy of the behavior to be reproduced.

It's a good idea to consider various open-source and commercially licensed tools while looking for the best fit for your SV needs. Don't rule out the latter group just because the first investment appears to be significant due to licensing fees. As previously stated, the simplicity of use and expanded feature set afforded by a commercially licensed product may generate a return on investment that well outweighs the original outlay.

Rather than focusing on a single tool, it is best to include a variety of tools in your test automation and service virtualization training classes. There is no one size fits all solution for every single case, and you'd instead show folks what's out there and let them figure out what would be the greatest fit for their own company than train them in a single solution (with the risk of giving them a hammer and making them see everything as a nail).

Moreover, don't just go with the first tool recommended by a Google search or a friendly sales representative; there's a strong possibility it won't be the best practical solution for your particular case. Take your time when choosing a tool. Conduct a proof of concept that exhibits the true value of a tool demonstrates that it meets your development and testing needs, and is a suitable match for your development team's skill set (or anybody that is to be made responsible for creating and maintaining the simulations). Consider engaging a third-party expert to assist you in making the best decision possible.

In recent years, the field of service virtualization has matured quickly. Similar to how test automation has matured in the past. That indicates it's time to get serious about SV implementation as well. You can't afford not to consider SV seriously if you want to keep up with software development as it becomes more distributed, more sophisticated, and delivery cycles become shorter.

Hopefully, this article has assisted you with essential information that will assist you in selecting the appropriate SV tool for your needs, whether open source or commercially licensed.