Generating test data with many permutations and combinations for a wide variety of test cases is a common need in software testing.
To properly do this, an organization needs a quick and easy way to set up variances in the generated data.
A GenRocket user could theoretically generate permutations for their test cases by making changes at the Template Domain Level by altering the Domain Loop Count. However, this is not how GenRocket was designed. Changing the Template Domain Loop Count will impact the Loop Count of every user of that same Domain. So, for example, if user #1 specifies a Loop Count of 10,000 on the User Domain then user #2 will also have 10,000 users generated for the User Domain even if tester #2 only wants 10 users generated.
GenRocket solves this by allowing the Loop Count to be set at the Scenario Domain level. So each tester can create different Scenarios for a Domain that contain different Loop Counts and their changes do not impact any other tester. What's the drawback of this approach? None other than the time it could take a tester to create all of the different permutations needed for their test cases. That is where Test Data Permutations comes in...
Test Data Permutations was developed to speed up the process of creating Test Data Cases with many permutations (Loop Counts). And like the benefit of the Scenario Domain described above, these Test Data Cases do not impact any other user's Test Data Cases.
The following concepts are key to this feature:
- Test Data Permutation - A testing suite consisting of Test Data Categories with their own Test Data Cases, which can be used to test the validity of synthetic data used for your system.
- Test Data Category - Defines the type of testing that will be performed and can contain one or more Test Data Cases to meet your specific needs.
- Test Data Case- Defines the Domains and Loop Counts to be generated when the Test Data Permutation is run with the Scenario or Scenario Chain and the database is populated.
How Do Test Data Permutations Work?
Test Data Permutations may be created for any version of a Project and consist of defined Test Data Categories and Test Data Cases using the Domains, Receivers, and Scenarios or Scenario Chains set up for the Project.
A user can set up their own Test Data Permutation for testing purposes without affecting others who may be using the same information to generate their own data.
The following apply when creating any created Test Data Permutation:
- A Project (or Project Version) can have multiple Test Data Permutations.
- A Test Data Permutation may have multiple Test Data Categories with their own Test Data Cases.
- A Test Data Category may have multiple Test Data Cases.
- A Test Data Case may have one or multiple Domains with their own defined Loop Counts.
When setting up a Test Data Permutation for a Project, it will need to have the following minimum configuration:
- 1 Test Data Category
- 1 Test Data Case
Once a Test Data Permutation has been set up, it can downloaded and ran with any Scenario or Scenario Chain within the Project containing all or some of the Domains used to configure the Test Cases. The defined Receivers will be used to generate the output data.
The following example shows a Test Data Permutation created and set up for the TestDataPermutations Project Version 1.0. This Project has 4 domains:
For this example, the Unit Test Data Category has been selected and 5 Test Data Cases have been created using the four Domains listed above.
For each Test Data Case, the Loop Count for one Domain has been changed within the Test Data Permutation to achieve different combinations of synthetic test data.
All other Domains in the Test Data Case are using the global.DomainName.loopCount. A preview of what will be generated can be seen to the right of the Test Data Categories and the run command can be found at the bottom of the screen.
To see a step-by-step instruction for the example above with a Load Test Category and a Test Data Case as well, please see: Test Data Permutations Example: Unit and Load Testing.
To learn more about setting up and configuring Test Data Permutations for a Project, please see this section: Configuring and Using Test Data Permutations