The ConfErr graphical user interface is divided in four parts:
The general test plan parameters part of the screen provides two input fields:
In this tab the user can specify all the configuration files that are used to carry out the fault injection. Each file has the following properties:
The below these field there is a table that shows all the parameters specific to the configuration file handler.
In the lower part of the tab there is a row of buttons that can be used to verify that the parsing is happening correctly:
This section allows to define error generators. Error generators are set of faults. In the upper part of the tab it is possible to choose among the multiple error generators that can be defined in one test plan using the drop-down list. By clicking on the button Add it is possible to add a new error generator and by clicking on the Remove button it is possible to delete the currently selected error generator. Each error generator has a name that can be set by selecting the generator in the drop-down list and editing the Name filed on the top of the tab.
Error generators are defined by combining multiple fault templates. Fault templates are operators that can, given the input configuration files and a set of parameters generate a set of faults. Fault templates can use sets of faults generated by other fault templates as parameter. This combination of fault templates is represented with a tree on the left of the tab. If a fault template A uses the set of fault generated by template B then A is a parent of B.
In order to modify the tree of fault templates the user interface provides four buttons:
When a fault template is clicked its properties are presented on the left side of the tab. The properties are the following:
Below the general properties of the fault template there is a table that shows all the parameters that are specific to the fault template.
In the bottom of the tab there are two buttons that help in creating the error generator.
This tab allows to specify which implementation of the runner will be used and provide a value for its parameters. The runner class is responsible to take the faulty configuration files generated with the error generators and test their effect on the system. The class can be specified in the Runner field.
This tab is used to run the actual fault injection. The fault injection can be carried out using all the error generators defined in the test plan of only one of them. This can be specified with the Error generator radio button and the associated drop down list. Each fault injection will generate some logging data, use the Output directory field to specify this data will go.
To start the fault injection click on the Start, to interrupt a running fault injection click on Stop. When the fault injection is running the progress bar indicates how many faults remain to be injected, the ETA field indicates the estimated time to finish the fault injection.
When the results for the injection of a specific fault are available they are shown in the table in the middle of the tab. The Description column contains a brief description of the fault, the Results column shows the results of the injection, which can be either OK, meaning that all the tests completed successfully, FAILED TO START that indicate that the system couldn't be started and TEST FAILED, that indicates that some of the tests failed. By moving the mouse over a line it is possible to view the diff between the input configuration files and the faulty configuration files. By double clicking on a row of the table is possible to see the output of the scripts that where run to test the system.
To save the results of the fault injection to an XML file for later analysis use the button Save resilience profile....