How CAT works?

You say CAT will test my data. OK, but how does it work?

Project file

First, CAT needs to know where is the data you want to test, what tests you want to run and what is your desired output. Therefore, CAT needs some configuration. In CAT, you organize these in project files. They are in YAML format and are designed to be very simple.

CAT project file

The project files may contain definitions of data sources and tests directly, or they may instruct CAT to load the definitions from elsewhere (such as from MS Excel worksheet, from database etc.). Details are not important at this moment. Important is: there is a simple file that instructs CAT what tests you want to run. It is called CAT project file.

Executing tests

Different people have different preferences. Therefore we provide four simple tools that are able to work with project files:

CAT clients

Typically CAT users only use one of the tools. The tool of your choice (they are described and compared in more detail in the next article) will do this for you:

open / display the project content
such as data sources, tests, outputs needed, settings
run the tests
connects to data sources and evaluates your data, based on the test definitions from project file
create the desired output
such as results of the tests in MS Excel format, JSON file or entries in a relational database table

Here is a simple schema (for PowerShell module, but all tools work the same way):

CAT schema

The CAT client of your choice (PowerShell module, CAT CLI, CAT Studio, CAT Python module) reads the CAT project file. Based on instructions in it, it runs tests against data. The test results are stored, based on instructions in the project file, either in files or in a database, or in both.

The generated outputs can then be consumed by people (MS Excel), CI/CD tools like Azure DevOps (JUnit, TRX), other processes (JSON, YAML) or can be used for reporting (tables in relational databases).