XenoGuard Documentation

Automation Glossary

Here you will find definitions of the technical terms we are using in the present documentation. We tried to link them from everywhere in the documentation but please feel free to consult our glossary any time you are unsure about the meaning.

Warning Some of the terms in the glossary may have a different meaning outside of this documentation. Therefore, it is particularly important that you check their definitions.

Quick Access

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Main XenoGuard Concepts

For your first acquaintance with XenoGuard and to facilitate your understanding of XenoGuard's architecture, you should make yourself familiar with a few selected concepts and read their definitions in the following order:

These concepts are built upon each other. The order reflects their relationships and the growth of their complexity.



Action is the smallest automation unit that cannot be split further. An example of an Action is an instruction to copy a file from one folder into another. The Actions can be a bit more complicated at first glance, for instance, searching for a character string in several files. But, within this operation, we won't be able to separate any smaller steps to execute them independently and re-use them as a part of another operation. Most importantly, XenoGuard treats all Actions equally. 

Actions play a central role in XenoGuard. All other definitions are built upon it: not only in the XenoGuard's vocabulary but also in the XenoGuard's architecture.


ActionScript is a sequence of ActionSteps and a representation of either a task, process, or workflow.


ActionStep is a representation of an Action in the XenoGuard's user interface and instantiation of that Action in the programmatic code. Both terms are used synonymously in the documentation.


A piece of software.

Application Programming Interface

With the Application Programming Interface (API), programmers can access the data and functions of the software and make them usable for their own purposes, for example for control, data processing, and automation.

Automated Tests

See Test Automation.



A bug is a failure that causes the application either to stop working or throw unexpected results.



In a programming language, the context defines an area in which certain identifiers (e.g. variables) but also functions and methods have their scope and can be used. XenoGuard distinguishes between two contexts: Local and Global. The local context refers to an ActionScript, the global context to the entire workspace. Accordingly, global variables, for example, can be used in all scripts.

Context Identifier

See Identifier

Context Scope

See Context

CI/CD (Continuous Integration/Continuous Delivery)

CI/CD is an important concept in modern software development. It also encompassed a wide range of practices that allow achieving the ultimate goal: a gap-free delivery of software releases and smooth maintenance of existing software. CI/CD is often referred to in combination with the software development lifecycle. CI/CD ensures that the cycle is never interrupted by applying automation to testing and deployment. 


Data Type

In programming and data processing, data type refers to the characteristics that data items share and that allow performing certain operations on them. Data type also qualitatively demarcates the range of values that the data item can have.

Data types that are can be used in XenoGuard are described in detail here.


Dictionaries are one of the data types. They are collections of data items of any other data type, of the same one or of the different ones. Inside a dictionary, each data item has a key and a value. A key plays a role of a label, and the value is the actual value of the item. Dictionaries are demarcated by curly brackets. An example of a dictionary is {"name": "Anna", "age": 35}.


End User

An end user is a term that has been coined for the target group of a software piece as opposed to developers and stakeholders. End users are those who use the software on a routine basis to perform their tasks.


An extension adds new ActionSteps to XenoGuard and extends the existing range of functions. You can develop your own extensions with Microsoft Visual Studio using C# or purchase additional ones from our website.

Graphical User Interface (GUI)

GUI is a kind of user interface that enables interaction between a user and a computer program by means of graphical elements.



An identifier is a name that can be granted to a data type, a variable, an ActionStep, or an ActionScript. To avoid confusion, identifiers must be unique in the context scope in which the identifier is valid. The identifier name can consist of a combination of any digits and numbers. Spaces are also allowed as a part of identifier names in XenoGuard, which increases readability. Some identifiers are fixed and cannot be changed, e.g. the ActionSteps names.


IntelliRun is a feature for Premium users that allows using a time slider for playing the ActionScript execution back and forth at any speed. IntelliRun enables you to zoom into the execution, visualize, and validate data that an ActionStep processes at a given time.



Lists are one of the data types. Lists are collections of data items of any other data type. Items may belong to the same or to different data types. Lists are literally lists where items are separated by commas or other punctuation marks depending on the programming language or source they originate from. An example of a list is [0,1,2,]. It is demarcated by square brackets.


In XenoGuard, logging is a process of tracking everything that happens during the execution of an ActionScript.



Parameters serve as arguments for ActionSteps, but can also contain results when an ActionStep ends. Each parameter has a name and a data type that determines what kind of data can be stored in it. In some cases, ActionSteps return lists of results (parameters). Their names are then indexed, for example, "Result 1" or "Result 2". 

Power User

A power user is a kind of end user who has advanced knowledge about the application and can operate it on an advanced level compared to other end users.


In XenoGuard's terminology, a Process is a Windows application that is started by XenoGuard on the same or remote machine.

Regression Testing

After any changes were implemented or new features were added to your system or application, you need to ensure that everything continues working correctly. In other words, you need to test your application. 

Regression testing examines if there is no regression – no downgrade – happening. With XenoGuard, you can cover a wide range of test cases within a short time by performing them automatically.

Robotic Process Automation (RPA)

In workflow automation, there are no physical robots involved. Robots in this case are software bots that operate an application through its graphical user interface or its command line interface. These robots emulate user's behaviour and are used for workflow automation. This approach to automation is called robotic as opposed to another popular approach that makes applications exchange information through application programming interfaces (APIs). 

RaaS is a more specific case of a general software-as-a-service business model.



A stakeholder is a person who is interested in bringing a software development project to the end. It can be an end or power user, as well as an investor, a team lead, or a company's employee in general. Stakeholders make decisions related to particular software in development.


Software is a program that includes instructions and some data in the form of a programming code that tells the hardware what kind of operation to perform. Software pieces can talk to each other using APIs

Software-as-a-Service (SaaS)

The software-as-a-service (SaaS) business model emerged in the past decade and enables companies to use software or whole cloud computing systems and infrastructures without building or buying them once and forever for a lot of money and hosting them internally. With SaaS, you pay a regular subscription fee and can cancel it once you do not need the software anymore.

Software Development Lifecycle (SDLC)

A software development lifecycle is a process that encompasses the completion of a software piece. It begins with requirements solicitation. Then, the development part – writing the program code – follows. At the next stage, the software is being tested. Eventually, it is deployed: made available for end users.  



A Task is an entity consisting of a few Actions that together replace what we know as a "task" from real life: something that leads to a new and re-usable result. Indeed, some Tasks may include only one Action. However, the most common case would be the creation of some new information or other result based on some input. For instance, when you download a file, open it, and copy some of its contents into a new file. You create a result that is different from what you had at the beginning. 

Test Automation

Every software or IT system must be tested before it can be launched in a productive environment. Each new application or release version undergoes a series of manual and automated tests. The latter are programmatic scripts that operate the application or system under scrutiny to make sure that it works as expected. They often provide a record of the test execution.


User Interface

A user interface is a part of an application that allows users to interact with this application.



Variables are storages for information that can be used as input in multiple ActionSteps and ActionScripts. Variables help to automate data entry saving an entry for further re-use. Variables can be defined locally and globally. Local variables are only accessible within one ActionScript, whereas global ones can be accessed from any ActionScript as long as they originate from the same workspace.

Validation Rules

Validation rules are rules that are embedded in the source code of a software application and that check correctness of the data that a user enters. The rules are defined at the time of the software requirements solicitation. Validation rules typically check if the data type is the right one, or if the data is in the allowed range to ensure that the application can process this data and throw a meaningful result.



A Workflow involves a few Actions and/or Processes and, consequently, happens in more than one Windows application, or performs Actions on the operating system level, or executes a few Tasks inside XenoGuard and one or more Windows applications and the operating system. A workflow is another concept that we know from real life. Inside a workflow, an input goes through different stages. On the lowest level, these stages are Actions, on the next level they are Tasks, and on the last highest level they are Processes. For instance, you download a file, open it, copy some contents into a new one, then open a Windows application that uses the data from this file. The application processes the data and displays some results that XenoGuard can export and save. Alternatively, let's say instead of a Windows application, XenoGuard performs an Action on the contents by itself, such as reads the name from the first column and the surname from the second, glues them together, and saves in a new file.


A coherent project that contains all action scripts as files, settings, and logs is called a Workspace in XenoGuard. On the hard disk, the workspace uses a single directory in which all other data is stored in subdirectories.

The following sections will provide more context on workflow and test automation to give you an idea of why and how the aforementioned features make XenoGuard stand out in the automation tools market.