Top 10 Service Virtualization Questions from Gartner AADI 2013
Service Virtualization FAQs
Parasoft has been showcasing our Service Virtualization solution at Gartner AADI this week. Since there's been so much interest in service virtualization, we thought we would take this opportunity to share the most frequently-asked questions.
1. What is service virtualization?
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."
2. How is service virtualization different than server virtualization?
Service virtualization provides a simulated response from message traffic, "virtualizing" only a fraction of the overall system behavior. Server virtualization is much more extensive. As a result, it requires you to have access to the entire system—and also to know how to configure and maintain the virtualized system components. Moreover, it's not feasible to leverage server virtualization for every dependent application (e.g., mainframes, third-party systems, ERPs). Service virtualization fills the gap by providing access to the specific behavior that's needed to complete development and testing tasks.
3. Can I trust a simulated test environment?
Absolutely…but you want to ensure that your service virtualization solution builds trust by analyzing and assessing the health of the simulated test environment vs. the production system.
4. Why can't I just do this myself? Why do I need a commercial service virtualization product?
Some organizations have been very successful in building their own solution to eliminate constraints associated with simple systems and "quick and dirty" test scenarios. However, if you're looking to accelerate the SDLC by "shifting left" the execution of complex deterministic test suites, that's when you want to consider commercial service virtualization products. Parasoft delivers a platform that allows convenient role- and team-based access to trusted test artifacts. We focus on providing the most flexible simulated responses in a shared environment. The platform ensures that your test environment is accessible, dependable, and meets the organization’s performance demands.
5. Why do I need this? We've been doing ok without it.
Organizations that aren't under pressure to release innovative software under tight deadlines might have the luxury of not needing service virtualization. Also, organizations that already have ubiquitous access to complete test environments might not need service virtualization. However, we have found that large organizations with complex interdependent systems can achieve significant benefits with service virtualization's simulated test environments. For example:
- OpEx reduction by cutting wait time, configuration time, and access fees
- CapEx reduction by reducing the need for hardware, licenses & lab infrastructure
- Risk reduction by enabling teams to test earlier, faster & more completely
- Incremental top-line revenue by accelerating innovation and time to market
6. Is service virtualization really useful for QA?
Yes, service virtualization is incredibly valuable for QA. QA has traditionally had to wait for a complete application before they could begin functional testing. With service virtualization, QA can start testing much earlier. They can test features as they're completed, which is very well-suited for agile processes.
7. How difficult is it to maintain service virtualization assets?
Different vendors have developed different models for service virtualization maintenance and evolution. Some vendors, such as Parasoft, offer both passive and active methods for service virtualization environment maintenance and evolution. Others approach service virtualization as a single component (or end-point), which makes it difficult to maintain.
8. What's the difference between service virtualization and stubs and mocks?
Stubs disconnect a test suite from an environment. They provide replacement implementations for objects, methods, or functions in order to remove external dependencies. If you're trying to write a unit test and need to replace a simple call to a database, external libraries (e.g., file I/O) or other system API, stubbing might be perfectly suited for your needs.
Service virtualization emulates an environment to allow you to execute a broad array of end-to-end tests. Service virtualization can represent much more realistic behavior than simple stubs and mocks. While stubs are created from the perspective of the test suite in order to "skip" unavailable system components, virtual assets are constructed to make the behavior of constrained components available to the entire team. With the virtual asset centrally provisioned, all team members access the same asset, which is expressing the expected behavior. This allows absolute consistency and reduced risk of defects slipping into the final product.
9. Does service virtualization require a highly-technical person?
The answer here is really vendor-dependent. Parasoft provides a user-friendly interface that enables even non-technical users to provision complex test environments with the click of a button or via an automated test management system. Others service virtualization vendors require dedicated technical resources to programmatically construct and provision environments.
10. What kind of dependencies can I replace with service virtualization?
You can use service virtualization to provide simulated responses for any system that has a standard or custom protocol for communication and a message payload. This includes, but is not limited to, large ERPs (e.g. SAP), databases, mainframes, mobile UIs, mobile networks, third-party applications, and much more.
New Research Package from Gartner and Parasoft: Accelerating the SDLC with Service Virtualization
The new Service Virtualization research package from Gartner and Parasoft provides more details about how service virtualization helps organizations accelerate the SDLC. Download it to learn:
- Why service virtualization is a "must-have" for accelerating the SDLC.
- How service virtualization helped Comcast release thoroughly-tested software faster—and at a lower total overall cost.
- Recommendations for organizations getting started with service virtualization.
- Strategies for streamlining the release management process beyond service virtualization.
Parasoft’s industry-leading automated software testing tools support the entire software development process, from when the developer writes the first line of code all the way through unit and functional testing, to performance and security testing, leveraging simulated test environments along the way.