Automatic Test Generation for Function Block Diagrams




This tool is developed in Java and it requires java version 1.7 to be present on the system. You can always check the version of java you have installed from a command line by typing:

java -version

In addition, this tool is using Uppaal model checker, which has to be downloaded separately from

Obtaining the binaries

Once you have downloaded both the CompleteTest and Uppaal, extract the archive and place verifyta.exe from Uppaal bin-Win32 folder to verifyta\bin-Win32 folder of CompleteTest.

After you have placed verifyta.exe to the correct folder, run the tool either by double-clicking on CompleteTest.jar or from a command line by typing:

java -jar CompleteTest.jar

Using the GUI

CompleteTest GUI

1 – Step & Time

Step & Time columns are used to present to the user the number of test vectors needed for achieving the maximum coverage. Steps represent a cycle scan in FBDs while Time represent an external clock.

2 – Input values

Columns in this area are showing the values of input variables to a given FBD. These values are automatically generated by CompleteTest.

3 – Output values

Columns in this area by default showing false for Boolean variables and 0 for Numeric values. It is expected that a user will manually change those values to fit the expected behaviour of the system, based on the input values provided in the previous area.

4 – Achieved coverage

In this field CompleteTest is displaying the percentage of coverage items that are covered by the generated test inputs. It is important to note that the tool always provide the maximum achievable coverage value. This means that if we have a value of 80% this is the maximum that could be covered using the selected logic coverage. Most likely this is a sign of the dead code.

5 – Diagnostic information

In this field, a user is presented with diagnostic information regarding the state space that was explored and memory consumtion that was consumed during the model-checing execution.

6 – Validate Test Outputs

Once a user has provided expected values, it is possible to click on Validate Test Outputs in order to compare expected and the actual output vector for each test input vector.