GenRocket TDG™ Component-Based Architecture
The GenRocket TDG platform is based on a component-based architecture. This provides users with maximum flexibility when designing test data solutions. It also allows GenRocket to rapidly develop new features or customize the platform to meet the needs of customers with unique test data challenges.
Following is a brief description of the 5 key components of the GenRocket TDG platform.
|GenRocket Term||Think of it like…||Example|
||A database table||A User Domain|
||The characteristics of the Domain – the columns in the database||Name, Phone, SSN, Email, DOB|
||Generates test data for the Attribute||NameGen, PhoneNumberGen, SSNGen, EmailGen, DateGen Generators|
||Receives the data from the Generator and morphs it into a usable format||XML, JSON, SQL, DB2, JDBC, REST, SOAP, VSAM, CSV, etc. etc.|
||Instruction set that tells the GenRocket engine how much data to generate||Generates data into a typical test case in about 100 milliseconds|
GenRocket breaks down the process of test data generation into 5 key components that provide total control over the nature and accuracy of test data generation.
Domain is a noun-a person, place or thing. So you could have an organization Domain, department Domain, user Domain (as shown in this diagram) Address Domain, etc.. There is no limit on the number of Domains or the hierarchy or complexity of the relationships between Domains. They are analogous to a database data table but more flexible.
Attribute is the characteristics of the Domain; it defines the data elements of the Domain that will be generated. There is no limit on the number of Attributes associated with a Domain. It is analogous to a column in a database data table.
Generator is the component that generates the data for each Attribute. Generators have parameters that can be configured so that exactly the desired data is generated. So for the nameGen Generator there are male name, female name, first name or last name parameters that offer about 40 million name combinations. Most Generators can generate data randomly or sequentially and Generator parameters can be configured to “seed” the data so that exactly the same data is generated every time data is generated.
Generators can generate dates, percentages or images. Generators can do calculations, can automatically generate permutations and can automatically generate edge case data. Generators can even query data from a database or spreadsheet and blend that data with generated data based on rules.
The GenRocket platform contains over 247 data generators and more are added to the platform upon customer request at no cost, usually within 1 to 3 days.
Receiver is the GenRocket component that morphs the generated data into a useable format depending on the test case requirements (e.g., XML, JSON, SQL, Oracle, REST, CSV, etc.). Receivers can directly populate data into just about any database; they can send data to IBM mainframes, they can pull from and push data into a Salesforce CRM system; and Receivers can communicate in real time over Web services – just to name a few of the capabilities of the (currently) 53 Receivers in the GenRocket platform.
New non-proprietary Receivers are added to the GenRocket platform at no cost upon customer request – usually in 2 to 3 weeks.
Scenarios are small (20K to 100K) encrypted instruction sets. Each Scenario instruction set relates to a single Domain (e.g. a User Scenario) with its associated Attributes, Generators and Receivers. While Scenarios contain no data they do contain a loop count; if the loop count is 1 the Scenario will generate one row of data. If the loop count is 1 Billion the Scenario will generate one Billion rows of data.
All Scenarios have the ability to maintain referential integrity between their parents, children and siblings, regardless of complexity (part of GenRocket’s patented technology).
In Testing Automation environments, GenRocket Scenarios launch in under 50 milliseconds and generate data for most functional test cases in under 100 milliseconds.
GenRocket’s component-based architecture allows testers to quickly solve test data challenges that are too complex to reasonably handle with spreadsheets or copied production data.
The ability to provision test data on-demand and using a self-service model streamlines the entire DevOps testing process. And a powerful GenRocket API provides seamless integration with all of the latest test automation tools and frameworks.
GenRocket has added a self-service provisioning layer to fully exploit the flexability of its component-based architecture. GSelf-Service includes modules for streamlining the provisioning process and adds new capabilities for rules-based test data generation, blending synthetic with production data and combining Test Data Scenarios to meet the requirements of any test case.