A component is a collection of interacting units (functions in the sense of C). The units do not need to be in a calling hierarchy; they may only interact on data, like push() and pop() of the abstract data type “stack”. Hence, component testing is integration testing of the units. A component according to this specification may also be called a “module”, and its testing “module testing” respectively.
If you know that a certain unit is called in a fixed timely distance, e.g. every 10 ms, simulation of the timely behavior of the component is possible. This is called “temporal component testing”.
A test case for a component is called a scenario. A scenario basically consists of a sequence of calls to the units in the component. With temporal component testing in place, not only the order of the calls, but also their timely distance can be specified.
Furthermore, the value of variables of the component can be specified initially or during the course of the scenario.
The expected result of the execution of a scenario is basically the order of the calls from the units in the component to units outside the component, i.e. in other components. With temporal component testing in place, not only the order of the calls, but also their timely distance can be checked. It is also possible to check that a call did not happen.
Furthermore, the value of variables in the component can be checked during the scenario execution and after the end of the scenario, i.e. in the final state of the variables.
TESSY can measure the coverage achieved during the execution of scenarios.