General FAQs
1. How much involvement would testers need to create test data using GenRocket?
2. Do the data structures need to be modeled manually, or can data modeling be automated?
5. Can GenRocket work with Mainframes?
6. Can GenRocket generate test data with Full Referential Integrity?
7. Can GenRocket generate test data that adheres to specific business logic?
8. Can I generate test data without installing GenRocket Runtime?
9. Can GenRocket support my unique data type?
10. Can GenRocket generate the same data as on previous runs?
11. What Methods are available to maintain Data Integrity across systems?
12. What Database Systems are supported by GenRocket?
13. Can GenRocket support a high-volume Database Load?
15. Does GenRocket have the capability to query Production Data?
17. Can I mask PDF and Image files using Synthetic Data Replacement (file masking)?
18. Are APIs available for Synthetic Data Replacement (data masking)?
1. How much involvement would testers need to create test data using GenRocket?
By design, GenRocket assigns the more complex test data tasks to a small group of well-trained GenRocket "Test Data Engineers," who use GenRocket tools to Model Test Data Projects and Design the data (Integration, Load, Negative, etc.) that is used by testers and developers.
Testers do not need to have any programming skills to use the tool. In the GenRocket model, Testers and Developers need much less training as they only need to learn how to:
- Search for the data they need in our G-Portal
- Learn how to integrate / Deploy the data into their test environment
- Learn how to modify the data using our G-Questionnaire tool
2. Do the data structures need to be modeled manually, or can data modeling be automated?
GenRocket offers 16 methods to accelerate/automate the setup process for different Test Data Projects. For trained "Test Data Engineers," most tasks are done quickly, but it depends on the particular use case, how clear the story about the data is, and the exact format required.
3. What level of effort is required to produce data in flat files (e.g., XSD or existing Database Structure)?
GenRocket has the architecture to generate whatever data you want in any volume and format. Generating data to flat files is standard GenRocket functionality delivered through our "Receiver" component.
4. Can GenRocket Support Data Generation for large data warehouses or unstructured databases (Teradata, MongoDB, Cassandra, Hadoop, NoSQL, etc.)?
Yes, GenRocket supports data generation for large data warehouses and unstructured databases. The speed of test data generation will vary based on several factors (system hardware, number of Attributes, etc.). A GenRocket Receiver populates data into a data warehouse like Teradata and unstructured databases such as MongoDB, Cassandra, etc.
When generating such large volumes of data, you don't want to connect to the database via JDBC; you want to generate the data using a given database's native bulk load format. The following pages provide helpful information:
- How to Optimize Test Data Generation
- What is the GenRocket Partition Engine?
- What is the Scenario Thread Engine?
- What are Bulk Load Receivers?
5. Can GenRocket work with Mainframes?
Yes, GenRocket can generate data and output it to mainframes in the required format via its fourth component, a GenRocket Receiver. A GenRocket Receiver morphs generated data into a specific output format and does not know that it's delivering its formatted data to a mainframe or a PC. It only knows it is supposed to deliver the data in its specific format to a given destination.
The destination can be anything that is able to receive and use the formatted data. Here are two basic examples:
- On mainframes that use the VSAM (Virtual Storage Access Method) method for storing and retrieving files, the GenRocket FixedFileReceiver would most likely be used to output the generated data.
- Any mainframe that contains a database that can be accessed via JDBC (Java Database Connectivity) can receive generated data in real-time via our GenRocketGenericSQLInsertReceiver, which can connect directly to a database via JDBC even if it is on a mainframe.
6. Can GenRocket generate test data with Full Referential Integrity?
GenRocket can generate synthetic data with full referential integrity. This is possible because all GenRocket Domains have an ID or primary Attribute that guarantees referential integrity between Domains.
7. Can GenRocket generate test data that adheres to specific business logic?
Yes. GenRocket Generators can generate test data with business logic. We commonly use our Linked Generator feature to combine multiple Generators to produce the desired logic outcome. You can see an example of this in this help article/video.
You can also use Test Data Rules (G-Rules) to ensure test data adheres to specific business logic during test data generation.
8. Can I generate test data without installing GenRocket Runtime?
The GenRocket Runtime is a secure Java program that executes the encrypted GenRocket Scenarios On-Premise within the security of your corporate firewall.
To generate data on your local machine or a central, shared machine, you must download and install GenRocket Runtime. However, if you use GMUS in a corporate environment where a client connects through a client application over REST or Socket, it does not have to be installed on a local or shared machine. Instead, GenRocket Runtime will need to be installed on the client application.
Genrocket Runtime executes Scenarios safely within your corporate firewall. This approach promotes best security practices for generating test data and ensures that data queries and inserts, among other tasks, all take place under the protection of your corporate firewall.
9. Can GenRocket support my unique data type?
Yes, GenRocket can support unique data types. Each data type is supported through a GenRocket component called a "Generator." Please visit this link to see the latest list of Generators.
10. Can GenRocket generate the same data as on previous runs?
11. What Methods are available to maintain Data Integrity across systems?
GenRocket provides the following options for maintaining data integrity across systems:
- Organization Variables- Create variables at the Organization level that multiple Projects can reference.
- Organization Attributes- Create a suite of Attributes at the Organization level that multiple Projects can reference.
- Master Projects- Create a Project with one or more Master Domains that can be inherited by other Projects (i.e., Child Projects).
- G-Map Server - G-Map Server allows Domain Attributes to put key/value data into mapped memory and disk cache. It allows other Domain Attributes to get value data from the cache with a key.
12. What Database Systems are supported by GenRocket?
GenRocket can support any database as long as a JDBC driver is available. Oracle, SQL Server, and DB2 have JDBC drivers, so GenRocket can easily connect to these databases.
For NoSQL, like MongoDB, GenRocket has a MongoDBReceiver that can connect to MongoDB and populate the data. To see a complete list of supported databases, you can click here.
13. Can GenRocket support a high-volume Database Load?
Yes. GenRocket primarily connects to databases via JDBC. Since JDBC is not the fastest connection type – for situations where a client needs to bulk load data at a faster speed - our team can create a custom Receiver for that database. To learn more about Bulk Load Receivers, please click here.
14. (Databases) How does GenRocket identify the sequence starting point and maintain referential integrity?
If the table is empty, we can use RangeGen to start the sequence from 1 and populate the data.
If your table has data, and you want to generate the data from the max (PrimaryKeySequence) onwards, then you can use
QueryOnceGen to get maximum id +1 from <tableName> and use that in RangeGen to start from (Linked Generators). Click here to see an example of this.
To maintain referential integrity, you can add the DelimitedFileReceiver to the Domain to save the ID that's also going into the database and then use ListCSVGen to read the ID at scenario level in the Parent Domain for Referential Integrity.
15. Does GenRocket have the capability to query Production Data?
Yes, GenRocket can query existing production data. GenRocket allows users to migrate data from one file to another or query production data and merge that data with synthetically generated data. For more information, please see these articles:
16. Is it possible to execute PRE and POST scripts (SQL DDLs, DMLs, Stored Procedures, etc) from the tool?
Yes, executing the PRE and POST queries is possible using the SQLUpdateReceiver (DDLs & DMLs). We also have a StoredProcedureCallReceiver that can call a Stored Procedure.
17. Can I mask PDF and Image files using Synthetic Data Replacement (file masking)?
Yes, we have Receivers that allow for Synthetic Data Replacement (SDR) on PDFs and Images.
- PDFFileReceiver - Writes Domain Attribute values directly onto a PDF file. This Receiver superimposes the Domain Attribute values onto the PDF without placing them in specific positions. For a more granular level of control, the PDFGeneratorAPIFileReceiver should be used.
- PDFGeneratorAPIFileReceiver - Reads a JSON file and calls the PDF Generator API, passing the JSON as the payload, allowing it to create a PDF.
- ImageTemplateReceiver - Augments an original image with the Attribute values configured by the user. It can be used to add/replace synthetic data values on an image's front and/or back.
18. Are APIs available for Synthetic Data Replacement (data masking)?
Our APIs are for manipulating Scenarios that contain Domains, Attributes, Generators, and Receivers. Receivers are the components that morph the raw, synthetic data generated by the GenRocket runtime engine into a usable format. It's a Receiver that would perform SDR on some endpoint depending on that Receiver's purpose and behavior.