The GenRocket platform was designed to scale Synthetic Test Data Automation across a global enterprise with hundreds to thousands of developers and testers needing test data for hundreds of applications in complex and interconnected environments. To maximize scalability, the GenRocket architecture is modular and adaptable and enables continuous feature enhancements and with new, innovative forms of intelligent automation.
GenRocket is the industry’s most advanced synthetic data platform with hundreds of intelligent data Generators, the most extensive library of output formatting Receivers, and the widest variety of test data project modeling methods for simulating any structured or unstructured data environment. The platform includes a multi-threaded, parallel processing architecture that maximizes speed, simplicity, and scalability.
The GenRocket architecture combines the modeling and design of test data in the cloud with distributed deployment and generation of synthetic data in the customer premise, and / or in a secure virtual test environments.
Test Data Projects are quickly modeled using 14 different tools and accurately reflect the data model of an underlying application, database or data feed. Test Data Projects can be organized, categorized, and versionsioned for use by different teams of developers & testers.
Test Data Cases are quickly designed in each Test Data Project to provide just about any test data including unit, component, integration, negative, permutation and load test data. All Test Data Cases are searchable through a centralized portal called G-Portal. Based on their permission level, any tester or developer can download Test Data Cases and integrate them into their test cases, ready for automated execution by the GenRocket Runtime.
The GenRocket Runtime can be launched by numerous automated methods so GenRocket can easily generate test data on-demand as part of any automation framework or CI/CD pipeline. The GenRocket Runtime and associated components can be deployed on individual tester and developer machines, on centrally located test automation servers, via a Maven Repository and even deployed via Containers.
Designed for Distributed Self Service
GenRocket is a distributed self-service platform that puts high-quality synthetic test data directly in the hands of developers and testers when they need it. That means any developer or tester anywhere in the world can browse G-Portal, select one or more Test Data Cases, integrate the Test Data Cases into their test cases, and generate the precise variety and volume of synthetic data they need on-demand. And if they don’t see a Test Data Case that meets their test case requirement, they can go to G-Portal to request a G-Case to be created by a small central team of trained Test Data Engineers.
With GenRocket, test data is instantly provisioned for any type of test once the rules for synthetic data generation are defined. To maximize the speed and efficiency of the data provisioning process, we developed a structured approach called The GenRocket Methodology. It provides a fast, repeatable, and predictable method for scaling the use of Synthetic Test Data Automation across organizations of any size.
The GenRocket Methodology
The GenRocket Methodology defines four key steps, or lifecycle stages, that go into developing Test Data Cases (what we call G-Cases) and managing their deployment across teams of software developers and testers. The following diagram illustrates these four important steps.
The GenRocket Methodology allows you to match the roles and expertise of your team members to the tasks they will perform in the GenRocket platform. The table below maps the four lifecycle stages with team member roles and the TDA (Test Data Automation) tasks they perform.
|Lifecycle Stage||Team Member Role||TDA Task|
|1. MODEL||Test Data Engineer||Model Test Data Projects for any application, database, or transaction set. Using GenRocket modeling tools, the data relationships are quickly established with referential integrity.|
|2. DESIGN||Test Data Engineer||Design Test Data Cases (G-Cases). GenRocket design tools are used to automate and accelerate the design of test data for any test case including test data for unit, integration, negative, edge case and load testing.|
|3. DEPLOY||Software Tester or Software Developer||Deploy Test Data Cases (G-Cases) into testing tools. Integrate G-Cases into test automation or software development tools to deliver on demand, real-time data for each test case.|
|4. MANAGE||Organization Admin or Test Data Engineer||Organize, categorize and version-control all Test Data Projects. Create and assign team permissions for access control to different Test Data Projects. Review activity and usage reports in G-Analytics.|
As you can see, the GenRocket Methodology is unlike the traditional TDM (Test Data Management) paradigm, or more recent Synthetic TDM variations of this traditional approach. Synthetic TDA (Test Data Automation) allows you to think differently about test data. In traditional TDM, DevOps teams are accustomed to the process of discovering, copying, masking, and subsetting production data. Often, the data must be reserved by team members for use with their specific test cases. And the process of searching for specific data values in a particular condition or “state” needed for specific test cases can be slow or impossible because production data does not contain all the data values needed for complete application testing such as unique data, negative data and all required permutations and combinations.
Test Data Automation: A Fast and Efficient Workflow
The following diagrams illustrate the GenRocket workflow for deploying Synthetic Test Data Automation for any application or database. The workflow starts with a small, well-trained group of GenRocket Test Data Engineers. This can be an informal team or a formalized Synthetic Test Data Center of Excellence (COE).
Let’s assume you’re developing an application that uses an Oracle database. During the MODEL stage, the Test Data Engineer will create a Test Data Project. There are 14 different ways to model a Test Data Project in GenRocket. For this example, let’s assume the Oracle database schema has been imported into GenRocket. The schema contains the metadata used to replicate the structure, attributes and relationships of the data tables needed for testing with full referential integrity.
GenRocket intelligent automations and wizards allow the Test Data Engineer to quickly build out the data model for the application, fine-tune the auto-assignment of data generators, and establish referential integrity between related data tables. Using G-Families, the Test Data Engineer organizes the application data model into families of related tables and, for each family, intelligent automations are used to automatically build G-Cases such as G-Cases for unit, integration, load, and other commonly needed test data.
Next, one or more Test Data Engineers can design G-Cases to address more advanced test case requirements that offer developers and testers the volume and variety of data in a particular state or condition that is needed for a given test case or suite of test cases. Once G-Cases are created, they are categorized and tagged making them visible via G-Portal and ready for use by different teams of developers and testers.
The power of GenRocket’s Test Data Automation architecture is that any volume, variety or format of data in any state or condition can be designed and made available for use by globally distributed teams of testers and developers to accelerate their testing and maximize test coverage.
Distributed Self Service Enables Test Data On-Demand
During the DEPLOY stage, G-Cases are selected and downloaded by DevOps teams to be executed by automated test scripts in their release pipelines. With G-Portal, they have fast and easy access to a managed repository of G-Cases to generate data for any category of testing while eliminating the wait-state associated with Traditional TDM.
Developers and testers simply login to the GenRocket Cloud to access G-Portal and select the G-Cases needed for their test cases. G-Cases can be easily modified by the tester or developer using G-Questionnaire, an intuitive editor that requires little or no knowledge of GenRocket. This allows testers and developers to get exactly the data they want without having to become GenRocket experts. G-Questionnaire changes might relate to the volume of data (e.g., change hundreds of rows to millions of rows), the type of data variations (e.g., change the language or geography), or the output format (e.g., change SQL to XML, JSON, or other modifications).
G-Cases can be seamlessly integrated with any developer tool, test automation tool, or testing framework to fully automate the delivery of test data. G-Cases can be launched in many different ways including at the command line, via a batch file, shell script, scripting language, compiled language, via an API, or by Jenkins. When launched, the GenRocket Runtime executes the G-Case and generates synthetic data at 10,000 rows per second or much faster using the GenRocket Partition Engine.
This model is a blueprint for enterprise scalability. The approach leverages a small team of highly trained GenRocket Test Data Engineers as a centralized resource for modeling and designing test data cases supporting large teams of distributed testers and developers located anywhere in the world. It’s an efficient model for rapid, broad-scale deployment and adoption of synthetic test data automation.
The Synthetic TDA Management Layer
The fourth stage of the GenRocket Methodology leverages a set of intelligent automation modules that allow Org Admins and Test Data Engineers to MANAGE the synthetic TDA process. Core management capabilities allow an Organization Administrators to manage system resources, security levels, team permissions, and oversee overall system-wide utilization. Other management capabilities are designed to support your COE Test Data Engineers, while other management features are designed to support distributed teams of developers and testers.
To facilitate the modeling and design functions described above, the COE staff is supported by important management capabilities. For example, they can administer version control, categorize projects, assigne team permissions, and oversee changes to all data models or test data designs.
GenRocket has the ability to automatically detect data model changes in SQL databases, alert an Org Admin to the changes and dynamically update the data model and G-Cases in the associated Test Data Project.
GenRocket management features streamline delivery of test data to large, distributed teams of developers and testers. And many components in the GenRocket platform gather statistics for G-Analytics, a module that continuously monitors the utilization of GenRocket projects and system resources. G-Analytics stores summary usage data and delivers usage statistics to Organization Admin dashboards for analysis and ROI tracking.