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 three simple tools that are able to work with project files:

CAT clients

The tool of your choice (they are described and compared in more detail later in this 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

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

CAT schema

The PowerShell module / CAT CLI / CAT Studio read the CAT project file. Based on instructions in it, it runs tests against data. The results are stored based on instructions in project file either in files or in a database.

CAT PowerShell module

PowerShell in general is cool for automation. If you already use PowerShell 7 or later, this is the recommended way to go. If not, we encourage you to give it a try.

Main advantages:

Ease of installation
Basically you just run Install-Module CAT and you are done.
Ease of use
Even if you are not experienced PowerShell user, you will be able to run the tests (simply run Invoke-CatProject in the directory where your project file is)
Further automation
CAT is a PowerShell module - you can use all the bells and whistles of PowerShell. All the results are objects - easily filter them, group them, sort them… Ideal if you need to automate further processes based on test results.

When you should NOT use PowerShell module:

  • if you struggle to issue basic commands in a command line (use CAT studio instead)

  • if you can’t or don’t want to use PowerShell 7 (use CAT CLI instead)

Supported platforms:

  • MS Windows
  • Linux: preview, with some limitations related to Microsoft technologies (documented)

CAT PowerShell module CAT PowerShell module

CAT CLI

CAT CLI is a command-line interface for CAT, with no dependencies on PowerShell. But you can run it both from regular MS Windows command line and from PowerShell.

Main advantages:

No dependencies
CAT CLI is a self-contained exe application, with no prerequisites.
Ease of use
Simple commands for exploring and running your tests (simply run catcli run in the directory where your project file is)
Ease of installation
On Windows 11 it is one command (winget install catcli). On other Windows systems, you need to use installer (simple next, next, next…)

Some disadvantages:

  • so far we do not provide executable for Linux (but we will if users will request it)
  • not that powerfull as PowerShell (but if you only want to run tests and create outputs, you don’t need any of that)
  • you need to download installer and install CAT CLI, if you don’t have WinGet (WinGet comes by default only with Windows 11)

CAT CLI test results Test results in CAT CLI

Supported platforms: MS Windows only (we’ll provide support for Linux when requested)

CAT Studio

CAT Studio is a graphical user interface (GUI) for CAT. It allows you to work with CAT with no knowledge of command-line tools. It is still in preview. So far it can display all tests, execute them and run ad-hoc queries against your data sources. In future, we’ll turn it into a full test authoring and debugging experience.

Main advantage is it does not require any technical skills. Therefore it is suitable for non-IT people - it is an enabler for business users to run automated tests against data.

CAT studio works only on MS Windows. It is available in Microsoft Store.

CAT Studio