Further, actions can be performed following a subset. Each is again informed by information in the Control spreadsheet and leverages an automated and pre-defined VIP Workflow. The  post-Subset Actions are:

  1. ADDPKEYS: Adds Primary Key Constraints to the Subset in the Staging Database.

  2. ADDFKEYS: Adds Foreign Key constraints.

  3. ADDKEYS: A composite action that performs both ADDPKEYS and ADDFKEYS, adding both Primary and Foreign Key Constraints to the Staging Database.

  4. VALIDATEPKEYS: Checks that all Primary Keys are unique.

  5. VALIDATEFKEYS: Checks whether Foreign Keys can be added to the data.

  6. VALIDATEKEYS: A composite action that runs both VALIDATEPKEYS and VALIDATEFKEYS.

  7. DELETEORPHANS: Removes rows that do not fulfil Foreign Key constraints. This is useful if FoundCriteria have been specified.

  8. Data edits: Various actions will edit the resultant data Subset:

    1. DROPFKEYS: Drops Foreign Keys.

    2. DROPPKEYS: Drops Primary Keys.

    3. DROPKEYS: A composite action that runs DROPFKEYS and DROPPKEYS, dropping both Foreign and Primary Key Constraints.

    4. TRUNCATE: Deletes the data from the target Database or Schema, allowing you to subset iteratively.

    5. DROPDrops the tables created by the PREPENV Action.

Many of these Actions performed post-Subset create a functioning data set that can be used during testing and QA. For instance, adding Primary and Foreign Keys incorporates the relationships in the data needed for many types of automated testing.

Knowledge Base articles are provided on configuring each relevant sheet in the Basic/Advanced Control Spreadsheet, and running the Action associated with them. The below table summarises all Actions available when subsetting using Test Data Automation, and the sheets used to configure them. It also summarises which sheets the actions overwrite or populate in the Control Spreadsheet; if blank, it means that these actions are performed on the basis of the Source Data only:

Action

Definition

Informed by data in the following sheets

Populates/overwrites data in

GETMETADATA

Retrieves the metadata from the Source Data that is needed to run the Subset A composite action, it runs the TABLESGETKEYS and FINDIDENTITYCOLUMNS actions.

 

 

TABLES

Retrieves metadata from the source database.

Tables

Tables

GETKEYS

Retrieves metadata from the source database.

 

ForeignKeys

FINDIDENTITYCOLUMNS

Finds identity columns in the source database

Tables

 

PREPENV

Creates tables and indexes in the Staging Database.

 

 

BUILDMODEL

Creates the rules to drive the Subset.

SQLCriteria Tables ForeignKeys SoftKeys HashCodes

ProcessModel RuleList

SUBSET

Writes data to the staging database.

FoundCriteria HashCodes

SubsetResults

ADDPKEYS

Adds Primary Key Constraints to the Data Subset.

Tables ForeignKeys

 

ADDFKEYS

Adds Foreign Key constraints.

Tables ForeignKeys

 

ADDKEYS

Runs ADDPKEYS followed by ADDFKEYS.

Tables ForeignKeys

 

VALIDATEPKEYS

Checks that all Primary Keys are unique.

Tables ForeignKeys

 

VALIDATEFKEYS

Checks whether Foreign Keys can be added to the data.

Tables ForeignKeys

 

VALIDATEKEYS

Runs VALIDATEPKEYS followed by VALIDATEFKEYS.

Tables ForeignKeys

 

DROPFKEYS

Deletes Foreign Keys from the Data Subset.

Tables ForeignKeys

 

DROPPKEYS

Deletes Primary Keys from the Data Subset.

Tables ForeignKeys

 

DROPKEYS

Runs DROPFKEYS followed by DROPPKEYS.

Tables ForeignKeys

 

TRUNCATE

Deletes the data from the target Database or Schema, allowing you to subset iteratively.

 

 

DROP

Drops the tables created by the PREPENV action.

 

 

The Knowledge Base articles on data subsetting will explain how to configure and perform the Actions associated with a Basic Subset. It then sets out how to refine the Advanced Control Spreadsheet and perform iterative Subsets, before detailing the Actions that might be performed Post-Subset.

The Data Subsetting of the Knowledge Base does not provide instructions on exposing a Subset to a shared server or self-service test data web portal. This process is generic to all Test Data Automation utilities.