Today's DevTest teams are under pressure to deliver more—and more innovative—software faster than ever before. And now that most organizations are relying on software as a primary interface to the customer, compromising on quality to accelerate a release is not an option.
Unfortunately, there's no silver bullet for delivering "quality @ speed" —but one essential element is to have unrestrained access to a trustworthy and realistic test environment (e.g., including the AUT and all of its dependent components). Otherwise, you can't accurately and thoroughly validate the change impacts associated with each user story, or be confident that the evolving application doesn't degrade the overall user experience. Access to a complete test environment not only helps you achieve greater velocity; it also enables you to assess the risk of a release candidate during a CI/CD process and identify high-risk release candidates early in the delivery pipeline.
However, with today's complex systems, this type of test environment access is the exception rather than the rule. Although it was once common for organizations to stand up a local physical staged test environment, the complexity of modern applications has made that approach too slow and cost-prohibitive for today's development processes. Moreover, in many cases, it is downright infeasible due to dependencies that can’t be reproduced in the test environment.
With technologies like Microsoft® Azure™ (for elastic scalability), Microsoft® Visual Studio Team Services™ (for build and deployment automation), and Parasoft® Service Virtualization™ (to simulate and access dependencies), there's no reason why a complete, realistic test environment should be out of reach.
By taking advantage of a Microsoft ecosystem with VSTS and Azure, organizations gain immediate access to scale and bandwidth. This provides the resources needed to enable flexible and ubiquitous access to application stacks that are under your control for DevTest purposes. But what about the dependent system components that are beyond your scope or control (e.g., third-party applications, SAP, mainframes, not-yet-implemented services, etc.)? This is where service virtualization comes in. You can simulate their behavior using Parasoft Service Virtualization—eliminating the final test environment access gap that commonly impedes teams' testing efforts.
The combination of Microsoft Azure, Microsoft VSTS, and Parasoft Service Virtualization—operating natively within the Microsoft environment—enables organizations rapidly deploy a complete test environment on demand. The most realistic dependent components available at that specific point in time are aggregated from a central repository and then provisioned automatically. The "most realistic set of dependent components" is often a combination of both real components and simulated components delivered via service virtualization.
These simulated test environments are lightweight and Azure-compatible so that when you need to scale (e.g., for performance testing), you can do that on demand. They are also disposable. A test environment can be instantly provisioned from a golden template, used and dirtied, then simply destroyed. There's no need to spend time resetting the environment or test data to its original state. The exact same environment can be instantly spun up whenever it's needed (e.g., for reproducing or verifying defects).
A Technical Look at Service Virtualization with Microsoft Azure and Microsoft VSTS
To streamline and accelerate the provisioning process, you can take advantage of Microsoft Azure and Microsoft VSTS to automatically deploy disposable test environments onto servers running in the cloud—making complete test environments available in a matter of seconds. The following diagram shows one way that you can use Microsoft Azure and Microsoft VSTS to rapidly deploy a complete test environment in less than 10 minutes:
Here's a quick overview of how the service virtualization and environment-focused steps can be configured (we're assuming you already understand how to deploy your AUT).
Parasoft Service Virtualization servers can be automatically deployed to cloud-based Azure VMs that have been allocated by Azure Resource Manager. This not only streamlines installation, but also provides elasticity and scalability.
"Golden copies" of simulated test environments are defined using Parasoft's browser-based interface. A system diagram helps you define a complete environment, including all dependent components. You then leverage simulation technologies to coach the environment to behave in certain ways.
For example, assume you have the following environment for a sample banking application. From a single Parasoft environment, you can leverage simulation technology to configure the behavior of the system environments. It would be highly time-consuming to achieve this with the actual applications.
Any of the various "golden" environment instances can then be automatically deployed to your Azure VMs at any phase of the Microsoft VSTS pipeline. For example, you could deploy a simulated test environment as a build step as follows...
Service Virtualization Now Available in the Microsoft Azure Marketplace and Microsoft VSTS Marketplace
Want to try this yourself? You can get started with service virtualization in a matter of minutes.
Parasoft Service Virtualization is available now on the Microsoft Azure Marketplace and Microsoft VSTS Marketplace. Parasoft Service Virtualization provides two license models: hourly-billing consumption or bring your own license. Additional details about Parasoft Service Virtualization for Microsoft VSTS and Azure—including videos, case studies, and getting started guides—are available on the Parasoft service virtualization for Microsoft Azure and VSTS site.
Parasoft's service virtualization solution, which was recently named the leading service virtualization innovator by voke Research, is recognized for its unique environment-based approach. The combination of Microsoft Azure, Microsoft VSTS, and Parasoft Service Virtualization—operating natively within the Microsoft environment—is designed to provide teams the rapid, scalable, and flexible test environment access required for Agile, DevOps, and "Continuous Everything."
“We're excited to collaborate with Parasoft to give VSTS users direct access to service virtualization within their preferred development environment,” said Clemri Steyn, Visual Studio ALM & DevOps Product Marketing team lead. “VSTS users are rapidly delivering some of the most innovative technologies on the market. This addition to their toolset will help them increase their velocity even further by removing integration and test constraints tied to unavailable or expensive testing environments."
Mark Lambert, Parasoft VP of Products, added, "We are thrilled to extend Parasoft’s service virtualization technology directly into the industry-leading Microsoft ecosystem. Azure deployment lets users access lightweight, scalable simulated test environments that are perfect for Continuous Testing and performance testing. Moreover, the ability to automate our 'deploy and destroy' strategy as VSTS build tasks will help organizations expose critical defects early and stop high-risk release candidates from progressing along the delivery pipeline."