Load Testing a SOAP Web Service Workflow by Hycel Taylor on May 09, 2017
GenRocket Case Study: Load Testing a SOAP Web Service WorkflowWe have the opportunity to work on many interesting test data generation challenges with our clients at GenRocket. Since we know many companies have their own test data challenges we wanted to start sharing some examples of what our clients have achieved with GenRocket. This first test data challenge case study is from an international airline we worked with.
The Airline Reservation Test Data ChallengeThe airline needed the ability to robustly test their reservation system under heavy load. To do this they needed a way to make multiple SOAP web service requests to simulate many different real-world reservation scenarios. The complexity of such a workflow requires a testing platform that can think and adapt its test data generation strategies in real-time; without such flexibility, testing such a dynamic workflow is nearly impossible.
The Solution: Using the GenRocket API and SOAP ReceiverThe airline integrated the GenRocket API within their testing platform to enable the dynamic loading of GenRocket Scenarios. This allowed them to dynamically modify their test data generation conditions within the Scenarios which in turn enabled them to dynamically generate synthetic test data that simulated real world reservation scenarios in real-time. Using the GenRocket API from within their test application, they are able to achieve complete control over their entire testing workflow and have the software itself make branching decisions and dynamically determine what Scenarios to load and dynamically modify how the test data will be generated as the application continues to run. Here is the basic program workflow using the GenRocket API:
- Load the 1st test data Scenario
- Modify Scenario test data generation conditions
- Run the Scenario
- Test data is generated and a SOAP request is made via the GenRocket SOAP Receiver and also saves the SOAP response
- The application parses the response and from data gathered, makes a branch decision on the next GenRocket Scenario to run
- A GenRocket Scenario is selected and loaded
- The system branches back to step 2
The BenefitsThe solution yielded the following benefits for our client:
- Application technology decision makers could imagine and define any number of Scenarios to robustly test their reservation system to meet their testing needs.
- Test engineers are able to effectively build a highly adaptable, self-thinking, dynamic testing generation platform that will run dynamic workflows to effectively load test the reservation system simulating real-world reservation scenarios.
- Engineers are able to continually improve reservation algorithms, improve code performance and decrease source code bugs.
- And most important, consumers of the system will see an improvement of the application as bugs are uncovered with this test.