Research shows that testers spend between 30% and 60% of their time searching for, modifying and preparing test data. Why? Comprehensive testing requires test data that exactly matches the specific rules and conditions for each test case. Searching for test data that meets test case requirements copied from production or creating that exact data in a spreadsheet or writing a script is a slow, non-automated process.
In addition, when large teams of developers and testers use the same production data copy, in the same test environment, the test data can quickly become unreliable (in an unknown condition / state) leading to invalid test results.
Today’s testing automation environments require test case automation + automated delivery of fresh, accurate test data for each test case. GenRocket’s test data automation, allows secure, accurate, conditioned test data to be called by the test case and generated for a typical functional test, on demand, in about 100 milliseconds. After the test case is run, the test data can be discarded and the next test case can run. This innovative approach guarantees fresh, accurate, conditioned test data for every test case.
With GenRocket, Test Data Cases can be quickly designed to exactly match the rules and conditions of each test case. Each test case that runs in your CI/CD pipeline automatically launches the GenRocket Runtime Engine which, in turn, calls the Test Data Case and test data is generated for that test case, on demand, in real-time.
Here’s how it works:
After the test case is completed, the test data for that test case can be discarded. When the next test case runs it calls fresh, accurate test data specific to the needs of that test case.
Here are the key benefits of the GenRocket approach:
- Tests are not being run against test data in a shared (“polluted”) database
- Data is always fresh
- Data is always accurate
- Data reservation is not needed
- Data refresh is not needed
- Test cases always run with the correct test data, making test case results more accurate
And GenRocket has the flexibility to integrate test data into any CI/CD pipeline for seamless, efficient test data delivery. GenRocket can be called via many methods including:
- Command Line
- Batch File
- Shell Script
- Scripting Language
- Compiled Language
- REST API
- Azure DevOps Test Runner
- Other orchestration tools & test runners
- Jenkins
In the example below, it’s less about the Azure Auto Test Runner, as the test runner could be on AWS, GCP or Jenkins could be the orchestrator, it is the flexibility to have any testing tool call GenRocket to automatically deliver test data.
- A Unit test with tools such as NUnit, Junit, TestNG or Mockito call the GenRocket Runtime Engine, which calls the Test Data Case to generate test data on demand
- A Functional (Black Box) test with tools such as Selenium, UFT, Tosca, and TestComplete call the GenRocket Runtime Engine, which calls the Test Data Case to generate test data on demand
- A Load test with tools such as JMeter or LoadRunner call the GenRocket Runtime Engine, which calls the Test Data Case to generate test data on demand
- Many GenRocket customers use Cucumber so a specific GUI and integration was developed to accelerate the integration of GenRocket test data into Cucumber
See an example of test data for a load test being called directly from within the code (this example happens to be Groovy code) to generate 10,000 Users.
Automates Test Data Delivery Anywhere You Need Data
GenRocket Runtime
GenRocket’s Runtime can be installed and used on any machine that has Java installed on it. So test data can be generated on a developers machine, on a testers machine, on a test automation server on premise and / or on a test automation server in a customer’s private cloud.
GenRocket Multi User Server (GMUS)
Some customers want potentially hundreds of testers and developers to request test data from within their test automation framework. These customers use the GenRocket Multi-User Server (GMUS) which is a shared environment that manages requests and delivery of test data to simplify on-demand test data delivery.
GMUS Core Features:
- Integrates with test automation frameworks developed in any programming language
- Both RESTful Web Services or TCP/IP Socket Requests can be used for integration
- Large quantity of users can request test data from a single GMUS
- Simultaneous data requests are load balanced
- API commands can be passed to the GMUS to dynamically generate data on demand
- Record & playback
- Logging
- Messaging
Container Deployment
A container can be created using a container platform like Docker. The GenRocket Runtime, GMUS and all required components needed to use the GenRocket platform can exist in one contained package ready for automated deployment as part of your CI/CD solution.