Skip to main content

Reference, Glossary

CODESYS Test Manager

Test framework for automated testing of software which has been written in CODESYS

Test Manager

Comprehensively denotes the functionalities provided by the CODESYS Test Manager add-on

Test project

CODESYS project which contains an application with the objects to be tested

During a test run, a project is usually opened, the application contained in it is downloaded to the controller, and the preparatory steps are performed. As a result, the test environment is ready for the actual tests: The test cases programmed in the script are executed and evaluated automatically. Finally, steps are necessary to clean up the test environment and close it.

Controller

Device or controller where the testing is performed

Test application

Application which is also created automatically to perform an IEC unit test

The application contains test code, either generated from test POUs or from a test table.

Requirement: The test script contains a unit test. Then, when the script is started, the test application is created automatically from test POUs or from the test table. If necessary, multiple test applications are created and loaded.

Table 86. Context: Test management

Test repository

Location for scripts and their reports

You can create any number of test repositories, for example to manage tests for different CODESYS versions in different repositories.

Test script

Executable script (program in scripting language) which tests the software

The script calls test cases and test actions that are based on a test driver. These kinds of tests are usually system tests. In a unit test, the test code is executed and evaluated. The result is summarized as a test report.

Report

Summarized documentation of the test results



Table 87. Context: Test element

Test element

Example: Test action

Call / remote call

Test element for calling another test script

Choice

Test element for branching one script into two script segments

Assignment

Test element for assigning a configured value to a test script variable

Test case

Test element for structuring test actions in a logical unit

Test action

Test element for executing the configured command of a test driver

IEC Unit Test

Test element for creating a test application when a test is executed in order to execute test code

The test application is based on a test project which contains either test tables, test POUs, or multitest POUs.



Table 88. Context: Test action

Test Driver

Collection of test actions (IEC program code) available for automatically controlling a CODESYS instance

With test actions, the test application is prepared, controlled, checked, evaluated, cleaned up, and the result is documented.

. The following test drivers are available:
  • Objects

  • Online

  • Devices

  • Monitoring

  • FileIO

  • Testreprot

  • Scripting

  • Projects

  • System



Table 89. Context: Test code in the project

Test table

Object in which a testee is tested with a list of the test steps (ideally in its entirety)

Therefore, the test script contains the IEC Unit Test test element.

Testee

Function block as a software unit (software unit, software component) which is tested during the IEC unit test based on a test table

Input assignment

Specific set of values for the input variables (and any state variables)

Output assignment

Specific set of values for all output variables which occur in the corresponding input assignment

Test step

Row in the test table where an input assignment and the corresponding output assignment are configured

Test case

Row in the test table for structuring test steps in a logical unit

Group

Row in the test table for structuring test cases in a logical unit

Test POU

Function block or program which contains test code in any IEC language and is decorated with the pragma {attribute 'test'}

The test POU is part of the project (test project) which is loaded during the test run.

Therefore, the test script contains the IEC Unit Test test element.

Multitest POU

Function block or program where test code is implemented in an IEC language and which is decorated with the pragma {attribute 'test' := 'multitest'}

The test POU is part of the project (test project) which is loaded during the test run.



Invariants

Term from software testing for a state which is never reached. State is described as an expression.