According to Wikipedia: Service virtualization is a method to emulate the behavior of specific components in heterogeneous component-based applications such as API-driven applications, cloud-based applications and service-oriented architectures. It is used to provide software development and QA/testing teams access to dependent system components that are needed to exercise an application under test (AUT), but are unavailable or difficult-to-access for development and testing purposes. With the behavior of the dependent components “virtualized,” testing and development can proceed without accessing the actual live components.
Why Service Virtualization?
Today organizations are under pressure to release innovative software under tight deadlines. Organizations use complex interdependent systems that make it more difficult to meet their targets. In addition, development and testing teams often rely on services that are provided by third-party vendors such as cloud service providers. , which may pose security and access limitations. Too many Challenges…What to do?
This is where Service Virtualization comes into play. With Service Virtualization, QA don’t need to wait for complete application to begin functional testing. As soon the test features are completed, they can jump into picture and start their testing.
What Service Virtualization does?
Service Virtualization makes it possible to emulate the behavior of the specific dependent components that are critical to the execution of development and testing tasks. This provides enough application logic so that the developers or testers get what they need without having to wait for the actual service to be completed and readily available.
It accelerates the delivery of complex test environments and enables you to complete integration testing earlier in the software development life cycle. It results in fast delivery, reduction in infrastructure footprint and increased performance.
Tools: There are a large number of commercial and open source tools available in the market that allow virtualization of services.
Commercial Service Virtualization Tools:
- IBM Rational Test Virtualization Server
- CA Service Virtualization
- Parasoft Virtualize
- HP Service Virtualization
Furthermore, several open source service virtualization projects have emerged in recent years, such as WireMock and Betamax.
For RESTful Services, you can use these tools for building stubs / virtual services quickly:
– WireMock (http://wiremock.org)
– MockServer (http://www.mock-server.com)