Integrate Service Virtualization, API Testing and Test Lab Management
November 7, 2014
3 min read
Enable Continuous Testing and Significantly Expand Test Coverage and Traceability
We’re excited to announce Parasoft’s latest release: a consolidated platform uniting API testing, service virtualization, and test environment management. The new release is designed to help organizations “shift left” the testing effort and accelerate the SDLC to meet the growing time-to-market pressure for software applications.
The ability to rapidly develop and continuously execute end-to-end tests—even in complex or frequently-evolving environments—is essential to accelerating application delivery while minimizing business risks. That’s why Parasoft allows users to create a simulated test environment in less than a minute, then immediately start defining and executing tests against the appropriate test environment configurations.
The Ingredients of the Virtual Lab
A real test lab requires the closest physical manifestation of the operational environment an application is planned to work in, but even in the most sophisticated lab, it’s difficult to scale to a realistic environment. A virtual lab fixes this problem. Virtual labs evolve past the need for hard-to-find (or perhaps non-existent) hardware/software dependencies with the us of sophisticated service virtualization with other key test automation tools:
- Service virtualization simulates all of the dependencies needed by the device under test in order to perform full system testing. This includes all connections and protocols used by the device with realistic responses to communication. For example, service virtualization can simulate an enterprise server back-end communication.
- Service and API testing provides a way to drive the application under test in a manner that ensures the services it provides (and APIs provided) are performing flawlessly. These tests can be manipulated via the automation platform to perform performance and security tests as needed.
- Runtime monitoring detects errors in real-time on the device under test and captures important trace information. For example, resource leaks, which can remain undetected in a finished product, can be caught and resolved early and cheaply.
- Test lab management and analytics provide the overarching control of the virtual lab(s). Once virtualized, the entire lab setup can be replicated as needed and test runs can be automated and repeated. Analytics provide the necessary summary of activities and outcomes.
Altering the data and behavior of dependent components
Service virtualization also gives you control over the behavior of the dependent components and the data they receive and return. It is very difficult to alter the configuration of the network or hardware associated with each dependent component of the AUT. It’s also quite common to face staged test environments that exhibit slower performance than you’d encounter in production.
Using service virtualization, you have greater control over how dependencies respond. This gives you on-demand access to a much broader range of dependency behaviors (just like a flight simulator). As a result, you can assess the risk of a release candidate faster and more accurately.
For example, you can simulate different dependency behavior to:
- Check how your AUT responds to performance variations in dependencies. Can users complete core transactions even when one dependency experiences high latency? Do low-latency scenarios expose concurrency issues?
- Isolate the component under test to understand if unexpected behavior stems from problems with dependencies or from your AUT
- Set the complete test environment into different states and validate your AUT’s security and resiliency in those contexts
Virtual services do not need to always respond with the actual data in the real system. In fact, there are many benefits to providing unexpected data from your virtual services. Virtual services are separated from their data sources, which allows much greater flexibility in generating response data that suits different teams needs, such as:
- Development teams that want to guard against malformed responses or negative behavior in their application can generate service responses that provide negative behavior.
- Testing teams that want to validate how non-nominal responses are handled by the service can return illegal characters in the response.
- Performance teams that want to understand the impact of large payload responses can provide larger-than-normal responses from dependent components.
By simulating the different service data in these types of situations, you can gain much more flexibility with your testing.
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.
To learn how this release can help your organization enable continuous testing and significantly expand test coverage and traceability with new functionality such as:
- Next-generation virtual asset and test creation that delivers the most logical and concise set of service virtualization and test assets
- Effortless handling of REST services and JSON payloads with advanced automation
- Rapid browser-based creation and management of test and service virtualization assets from Environment Manager
- Centralized visibility into the entire ecosystem across servers and environments
- REST API for creating, managing, and updating service virtualization and test assets
- Support for Selenium WebDriver and and HP ALM 12