A test purpose-based approach for testing timed input output automata
Real-time applications are those reactive systems whose behavior depends not only on their interactions with the environment but also on the times at which these interactions take place. The timing aspect of such applications makes it hard to test them exhaustively because of the infinite number of possible computations. One way to deal with this difficulty is to have the tester choose some important features of the application and check if they are properly implemented. This paper follows this principle and proposes a method for testing real-time applications formally modeled as Timed Input Output Automata (TIOA), a variant of Timed Automata of Alur and Dill (Theor. Comp. Sci. 1994; 126:183235). The method is based on test purposes. A test purpose is a description of a well-defined testing objective focusing on a single requirement or a set of requirements of the system under test. Test purposes, in this paper, are used to describe the features of the application to be checked by the tester. They are also formally modeled, in this paper, as a TIOA. Since test purposes are a partial behavior of the application under test, they significantly help to reduce the number of test cases to be generated, and consequently minimize the time, effort, and money to spend in testing the application. Basically, the paper proposes an approach, which takes as inputs a test purpose and a specification, and generates test cases, which are able to check if the test purpose is satisfied by an implementation of the specification. The proposed method consists of three main steps. First, the TIOAs of the specification and test purpose are combined together in one TIOA. Second, the resulting TIOA is sampled to construct a sub-automaton of the system with a finite number of executions for test generation. The sampling of a TIOA is done based on the number of clocks describing the timing behavior of the system. Finally, the sub-automaton resulting from the second step is traversed to generate test cases. The real-time applications dealt with in this paper are supposed to be deterministic; i.e. the test results are the same when the same input data are applied to the implementation of the application. Copyright (c) 2011 John Wiley & Sons, Ltd.
testing test purposes timed input output automata real-time reactive applications formal methods