Test behaviour Sample Clauses
Test behaviour. TTCN-3 focus only on implementation to be tested and it ensures the control of complex test configurations. The concept of verdict and verdict resolution mechanism is included in the control of Test Case execution and selection mechanisms. The main aspects of test cases are: • They specify sending/receiving messages, computation (e.g., checksums), and verdict assignment and handling • Decomposition with functions and altsteps • Reuse of default behaviour • Use of timers and timeouts Optionally, test execution control is available, in order to specify order, repetitions or conditions. Besides, various communication mechanisms are contemplated, synchronous as well as asynchronous.
Test behaviour. The area of test behaviour describes the set of concepts required to specify test behaviours, their objectives, and the evaluation of SUT. It might be described in different forms, such as sequence diagrams, sequence activity graphs or state machine The main elements of test behaviour are: Test objective, which describes what should be tested. Test case, which is a complete technical specification of how the SUT should be tested for a given test objective. Apart from the scope driven by the test objective, the test case must include inputs, results and test conditions, and it may invoke other test cases. So, it is defined in terms of sequences, alternatives, loops, data sent to the SUT (stimulus) and data receive from the SUT (observation). As UML does not necessarily specify every possible trace of execution, and there is a need to have complete definitions in the area of testing, the concept of default is introduced. It is a behaviour triggered by a test observation that is not handled by the behaviour of the test case per se. Defaults are executed by test components. The reason for designing with defaults rather than making sure that the main description is complete, is to separate the most common and normal situations from the more esoteric and exceptional. The distinction between the main part and the default is up to the designer and the test strategies. Moreover, the test case is a property of a test context, so three more concepts should be included here: Test Control: it is a technical specification for the invocation of test cases. Its objective is to know how the SUT should be tested with the given test context. Test Invocation: a test case can be invoked with specific parameters and within a specific context. The test invocation leads to the execution of the test case. The test invocation is denoted in the test log. Test Log: Traces from test context and test cases can be recorded as test logs, becoming part of the test specification. On other hand, a test case uses an arbiter, described in the previous section, in order to evaluate the outcome of its test behaviour. The arbiter determines a verdict. The verdict indicates how has been performed the test case. It must include at least the following values: A pass verdict indicates that the test case is successful and that the SUT has behaved according to what should be expected. A fail verdict shows that the SUT is not behaving according to the specification. An inconclusive verdict means that t...
