Understanding GenRocket’s Intelligent Test Data Generators
Part 3 in the series: Moving from Test Automation to Intelligent Automation
In part 2 of this series, Data Modeling and Referential Integrity, we explored GenRocket’s ability to reproduce the structure of any database, file format or data interface standard by importing a data model and establishing referential integrity between related data tables. This capability allows a data architect to establish a framework for testers to generate any volume or variety of test data that conforms to the structure of application data sources.
In GenRocket’s component architecture, data tables are referred to as Domains while columns, are referred to as Attributes. In addition to data tables in a database, Domains can define any real-world object. Think of a Domain as you would a noun: a person, place or thing.
Example Domains:
- Organization
- Department
- User
- Address
- Product
Each Domain has its own set of Attributes, which define the characteristics of a Domain. During the data modeling process, each Attribute is assigned a Data Generator used to generate test data conforming to its Attribute specifications.
For example, in a user table containing the columns: firstName, lastName, emailAddress, and userName, GenRocket will create a User Domain containing Attributes for these columns as defined by the data model. A default Generator is assigned to each Attribute as follows:
- firstName Attribute – NameGen
- lastName Attribute – NameGen
- emailAddress Attribute – EmailGen
- userName Attribute – ConcatGen
Testers can easily modify or replace these default Generators to design the precise data needed for testing. There are multiple variations for each category of Generators. Here is an example of the variety of Name Generators that can be selected by a tester during test data setup:
Data Generators are a form of intelligent automation designed into the GenRocket platform. They provide extensive control over the production of synthetic test data. For example, the NameGen Generator can be configured for gender type, capitalization, sort order or the use of a seed value to ensure randomized data is generated the same way every time. The NameGen Generator can be used to generate 1,000 male names, 3,000 female names, and 10,000 last names, providing 40,000,000 possible name combinations.
Names can also be generated for multiple countries of origin:
Multiple Generators can be linked to merge data values for creating a new and unique Attribute. In the example above, the ConcatGen Generator can be used to create a userName in the form FirstNameLastName or as a series like User1, User2, User3, etc.
Controlling Test Data Generation with Business Logic
Generators can also be linked to apply “if-then-else” criteria or use Boolean logic to control the nature of the data that is generated. Using GenRocket’s Business Logic Generators, testers can control the data values to be generated based on pre-defined criteria. For example, if the value of a loanApproval Attribute is TRUE, then test data for a loanAmount Attribute can be generated within a defined range of values. This allows testers to validate the business logic for any software under test with test data designed for both positive and negative use cases.
Controlling the Permutations of Test Data
The PermutationGen Generator is another example of intelligent Data Generators. It enables testers to generate all possible data value combinations to provide full test coverage. For example, to test an algorithm that generates weather and traffic alerts based on 6 traffic conditions, 4 road capacities, 5 time periods and 10 weather conditions, a total of 1200 data value permutations would be needed.
With GenRocket, testers can quickly and easily configure the PermutationGen Generator to generate this data in minutes. Controlling data permutations is perfect example of how intelligent automation can increase the quality of test data provisioned for testing.
Controlling the Percentage of Data Values Generated
Generators can also be linked to control the percentage of data generated from multiple lists by using GenRocket’s MultiWeightGen Generator. In the example below, a tester wants to simulate rental car sales data with data that is weighted on a percentage basis.
By using the ListGen Generator to define the categories of cars to be rented, realistic data can be generated for these lists in any volume desired. By linking the ListGen MultiWeightGen Generators, a weighting factor for each rental car category can be defined.
Realistic Test Data that is 100% Secure
With the help of intelligent Data Generators, QA teams can now generate realistic test data to replicate and replace sensitive customer information with synthetic data that is 100% secure and compliant with data privacy laws. Using the CreditCardGen Generator, testers can generate accurate credit card numbers for all of the major card companies like Visa, Mastercard, Discover and American Express based on the Luhn algorithm (also known as Modulus 10).
GenRocket’s Credit Card Generators provide extensive control over the type of card, the prefix and length of account numbers, and the ability to generate numbers in a series or as a random set with unique values. In a similar fashion, the SSNGen Generator generates real social security numbers to provide secure and controlled test data in sequential or random order.
The credit card and social security test data that is generated are accurate representations of real numbers. In theory, they could belong to real individuals. However, they lack any association with an actual cardholder or a real US citizen and so they are completely secure and safe to use. This allows testers to have the best of both worlds – realistic test data that is controlled, patterned and conditioned to meet test case objectives while ensuring data security and regulatory compliance.
GenRocket’s Diverse Portfolio of intelligent Data Generators
The examples above provide a glimpse into the power of intelligent Data Generators. The GenRocket Test Data Automation platform offers a rich portfolio of Generators for addressing any conceivable test data requirement.
Currently there are more than 250 Generators supported by the GenRocket platform. You can browse through a complete list of GenRocket Generators sorted by category in our knowledgebase. If a Generator needed for meeting a test data challenge is not present, GenRocket has the ability to quickly create a new one on request.
As illustrated by the examples, some Generators serve to generate synthetic data for various data categories like names, addresses, account numbers, transaction values, company names, countries, geographies, calendar dates and so on. Other Generators provide control over the use of business logic, permutations, or the creation of random and sequential data patterns. Data Generators can be linked to extend their control or create customized Attributes to meet unique data requirements. They provide testers with the ability to generate the data needed for testing on-demand with an easy-to-use self-service test data provisioning platform.
Realizing the Full Potential of Intelligent Automation
This article only scratches the surface of GenRocket’s intelligent automation capabilities. It is meant to provide a foundation for understanding the many enterprise-class features of the platform. In future articles we will build on this foundation to explain more advanced capabilities that make use of GenRocket’s powerful Test Data Automation technology.
- Configuring comprehensive Test Data Scenarios and Test Data Cases
- Blending production data with synthetic data with Test Data Queries
- Performing controlled integration and workflow testing with Test Data Rules
- Integrating with test applications and frameworks using GenRocket’s intelligent API
The next article in this series on Moving from Test Automation to Intelligent Automation will focus on GenRocket’s intelligent Data Receivers. They format the raw data produced by Data Generators into a useable format. GenRocket Receivers provide the industry’s most extensive support for provisioning test data in virtually any structured and unstructured format. For a preview, visit our knowledgebase page to view GenRocket Supported Output Formats.
And if you would like to discuss your specific test data challenge, we invite you to request a live demonstration with one of our Test Data Automation experts.