With GenRocket, you can generate any type of synthetic test data needed to solve your test data challenges. However, synthetic test data does not always provide the data you require. Sometimes, real data needs to be queried and blended with synthetic test data to meet specific testing goals. This is where Test Data Queries comes in.
Test Data Queries enable the blending of synthetic test data with real data. Within GenRocket, you can query real data from a database or CSV file. This data can then be conditioned and blended with synthetic test data and applied to any Scenario, Scenario Chain, or Scenario Chain Set independently or with a Test Data Case.
What is a Test Data Query?
- A Test Data Query queries real data from a defined database or CSV file and then blends it with synthetically generated test data when run with a Scenario, Scenario Chain, or Scenario Chain Set.
When should you use a Test Data Queries?
- Test Data Queries should be used when you want to blend real data with synthetically generated test data to meet specific testing goals. Test Data Queries can be used on their own to generate test data or added to a Test Data Case.
How do Test Data Queries Work?
A query can be performed before synthetic test data is generated or on each iteration of test data generation. The query occurs when the command line is run from a Command or Terminal Window. Database, CSV File, and Mongo options are available (as described in the next section).
- Set up a Test Data Query with Query Parameters, a Query, and the required Domains/Attributes
- Download the Query to your local machine or Add it to a Test Data Case
- Download the Scenario, Scenario Chain, or Scenario Chain Set to your local machine
- Run the Command Line for the Test Data Query or Case within a Command or Terminal Window
Six Types of Queries
GenRocket Test Data Queries gives six types of query options:
- Query Before - Query columns from one or more database tables as a set of data that is buffered into memory.
- Query Each - Query one row of columns, from one or more database tables, on each row iteration of test data generation.
- CSV List - From a CSV file, pull rows of data having one or more columns, into memory as a list of data.
- CSV Index - From a CSV file, pull rows of data having one or more columns, into memory and retrieve any row via its row index.
- Mongo Before -
- Mongo Each - Query one row of columns, from one or more database collections, on each row iteration of test data generation.
How Do I Use Test Data Queries?
- Select a Project within the Project Dashboard.
- Select the G-Query Menu Option for a given Project Version
- Define a new Test Data Query
- Set your query parameters
- Define your query
- Select your Domain and Attributes that will receive the queried data
Note: To query a database, you will need to have a config.properties file as well to facilitate the database connection. Click here to learn more.
Note: If the Test Data Query will be added to a Test Data Case, you will run the command line for the Test Data Case. All other steps are the same.
Defining a Test Data Query Example
A QA Tester needs to generate customer test data, but specific customer attributes need real data that need to be blended with other synthetically generated data. And the real data must be queried from a database.
Let's follow the steps to create our Test Data Query.
Step 1: Select the G-Queries Menu Option
Within a given Project Version, from the Project Versions pane, select the G-Queries menu option from the Manage drop-down menu.
Step 2: Define a new Test Data Query
- Click the Add New Test Data Query button.
- Give your Test Data Query a unique name.
- Optionally add a description (it's a really good practice to add a description).
- Select the type of Query you want to define: Query Before, Query Each, CSV List, CSV Index, Mongo Before, or Mongo Each.
Step 3: Set your query parameters
Much like GenRocket Generators, each of the six Query Types has a set of parameters that are used to customize your query.
Step 4: Define your query
In our example, we are defining a query join that will retrieve data from two tables to treat the data as a one customer entity.
Step 5: Select your Domain and Attributes that will receive the queried data
We will add Attributes from a User Domain and an Address Domain, and map them to the columns in the query.
Here's a view adding the User.firstName Attribute and mapping it to the first_name column from the query.
Here's a view after all of the necessary User and Address Domain Attributes have been mapped.
The Completed Story
In just a few minutes we are able to define a query to join and pull data from two tables to generate real customer data that can be blended with other synthetically generated data. And best of all, this Test Data Query can be used to modify any Scenario, Scenario Chain, Scenario Chain Set or added to any Test Data Case.
For more information, please see these additional articles regarding Test Data Queries:
- Test Data Queries Example: Customer Rewards
- How to access and view Test Data Queries for a Project
- How to add a Test Data Query to a Project Version
- Databases: How to configure a Test Data Query
- CSV Files: How to configure a Test Data Query
- MongoDB: How to configure a Test Data Query
- How to download and run a Test Data Query
- How to change a Test Data Query's Name, Description, and Type
- How to create a copy of a Test Data Query
- How to lock and unlock Test Data Queries
- How to delete a Test Data Query from a Project Version