Service Virtualization Maturity Model
October 4, 2012
3 min read
Here at Parasoft, we’ve been guiding customers through the rapidly-growing service virtualization market since its inception. Recently, we captured this experience in a Service Virtualization Maturity Model, which is designed to help IT organizations set realistic expectations for adopting and optimizing service virtualization.
The adoption of service virtualization can range from very simple ad-hoc or reactive applications aimed at bridging specific gaps—all the way to coordinated efforts to deliver optimized enterprise-wide access to highly-complex test environments. This service virtualization maturity model sets realistic expectations for how organizations can best apply this new and extraordinarily exciting technology, reducing application risks by enabling earlier, more comprehensive testing.
The maturity model consists of five stages which are defined by the specific focus of the team at each stage:
- Ad-hoc: The focus is on the Individual where there are one-off attempts to bridge gaps obstructing an individual’s ability to complete a specific development or test task.
- Reactive: The focus is on the project where Service Virtualization is used emulate dependent system components and allows the project’s development or testing tasks to ”shift left.”
- Proactive: The focus is on the test environment where service virtualization provides consistent access to development and test environments that involve difficult-to-access, inconsistent, or unreliable system dependencies.
- Managed: The focus is on creating test scenarios where multiple test environments (e.g., for performance, security, error conditions,) are coordinated to rapidly exercise different scenarios at each SDLC stage—achieving more automation and better test outcomes.
- Optimized: The focus is across the enterprise in order to provide optimized and secured environment access across and beyond the enterprise—including portals for business partners.
For more details take a look at the Service Virtualization Maturity Model and let us know what you think!
What is Service Virtualization?
Service virtualization represents an opportunity for organizations to develop and test complex applications faster and more comprehensively. With the adoption of service virtualization, organizations significantly reduce the CapEx and OpEx of managing development and test environments.
By providing anytime, anywhere access to the behavior of dependent applications that are difficult to access/configure for development and testing (e.g., databases, mainframes, 3rd-party applications, evolving services, etc.), service virtualization not only accelerates Agile and parallel development, but also enables the goal-oriented, business-driven test scenarios that significantly reduce application risk.
Here’s a 1-minute introduction to service virtualization from VP of Products, Mark Lambert:
To achieve quality at speed, it’s essential to have unrestrained access to a trustworthy and realistic test environment. It is important to recognize that a complete test environment includes the application under test (AUT) and all of its dependent components (e.g. APIs, 3rd-party services, databases, applications, and other endpoints).
Service virtualization enables teams to get access to a complete test environment, including all critical dependent system components, as well as alter the behavior of those dependent components in ways that would be impossible with a staged test environment — enabling you to test earlier, faster, and more completely. It also allows you to isolate different layers of the application for debugging and performance testing, but we’re not going to get into that as much today.
What else does service virtualization enable?
Service virtualization is part of a complete test automation tool platform that helps teams accelerate testing in various ways. For example, virtualization helps enable the following important test activities:
- Performance testing: Shift-left performance testing by simulating the service level agreements of your dependent systems, unblocking yourself from the limited availability of your physical performance test environment.
- Continuous testing: Get ahead of the competition by accelerating the testing phase of your Continuous Delivery pipeline and automate the feedback loop with Continuous Testing, to assess your release readiness.
- Test environment management: Instead of scaling additional hardware for hundreds of new test silos, leverage service virtualization to dynamically deploy-and-destroy virtual test environments.
Practical benefits of service virtualization
There are many benefits of deploying service virtualization in your organization. Businesses who have adopted the cutting edge testing practice of service virtualization report fewer defects, better test coverage, greater test execution rates, and dramatically less time spent testing.