How Service Virtualization Helped One Team Increase Test Automation
For an idea of how Service Virtualization strategies are applied by testers in the field, consider the following example from one of the largest European communications providers. Testers in this organization already had the challenging task of testing a rather complex Sales to Activation process. This process started with various touch points (e.g. a mobile application as well as a web interface) and processed the order through the full end-to-end system chain, which included back-end order processing systems, a CRM, and various billing and provisioning systems. These transactions involved more than 200 dependencies communicating via HTTP and SOAP, with both ESB-driven and batch transactions. Further complicating testing, the process involved a huge number of variations (e.g. private, small business and enterprise segments with distinctly different product characteristics).
As you can imagine, this was always a difficult system to test, even with 4-8 week test cycles. However, once the team adopted 2-week Agile sprints and expected Continuous Testing, they realized they needed a new approach—a way to dramatically accelerate testing speed without compromising their high quality standards. They knew that increasing test automation was essential for achieving this goal. However, their test automation efforts were previously limited due to test environment instability causing false positives and interrupting test execution. To move past this barrier, they needed a reliable and cost-effective way to ensure that required dependencies were all available for testing—with the proper test data—each and every time an automated test was executed.
Their first step in tackling this challenge was adopting service virtualization. They initially used service virtualization to simulate behavior associated with unstable systems in their test environment. They created service virtualization scenarios for their test case portfolio by recording the messages exchanged between the AUT and its constrained dependencies—automatically learning the expected interactions by listening in on their “conversations.”
Committed to advancing automation, they proceeded to apply a more advanced level of service virtualization. This time, they began by focusing their service virtualization efforts on all the dependent system behavior required to test. Starting with their two most important systems of engagement, they simulated all required dependency behavior based on their existing test case portfolio and service virtualization recordings. By doing this, they fully decoupled each system, enabling a full integration test as part of their Continuous Integration and Continuous Deployment process. As a result, they could deploy rigorously-tested systems to their staging environment for their final end-to-end tests.
Service virtualization for integration testing and end-to-end testing
Building upon the success of their initial efforts, they soon expanded the approach from the original 2 systems to a total of 42 systems. This enabled them to transition from their original 4-8 week testing cycles and complete testing within 2-week Agile sprints.
Microservices API Testing And Service Virtualization Tool Challenge
Service virtualization tools were put to the (API) test in a recent tool challenge. Learn about what the microservices testing challenge involved and get the play-by-play on the winning solution. Read more.
Gartner Magic Quadrant For Test Automation 2017
Gartner evaluates the major vendors used to accelerate and scale functional automated testing as well as enable the Continuous Testing required by DevOps. Read more.
Test-Driven Service Virtualization: How To Make Service Virtualization A Reality For Testers
Service Virtualization is more “virtual reality” than “real reality” for many software testers—even those whose organizations have already deployed Service Virtualization tools. Learn how Test-Driven. Read more.
What Is Continuous Testing
What is Continuous Testing, what does it mean for Continuous Testing in DevOps, Agile, Continuous Integration & Continuous Delivery, and how is it different than QA test automation? Read more.
Automated Testing Tool Comparison
Compare automated testing tools on automation type, test maintainability, testing types, deployment options, integrations, reuse, scripting, etc. Read more.
As the experience from many customer projects shows, test labs tend to be very expensive. Service Virtualization is the solution! Read more.
The Top Software Testing Tools: The Ultimate List Of Lists
Researching software testing tools? We aggregated and reviewed all the \”top software testing tool\” lists you’ll want to consider. Read more.