The new version 2.1 of JavaTESK tool supporting UniTESK test development for Java software is released on October 22, 2007. This version implements the new important feature — test creation for asynchronously interacting and parallel components.
The UniTESK testing method for asynchronous interaction consists of the following.
- In addition to ordinary operations asynchronous events that may be created by the component under test are considered as part of its interface.
- The requirements to the behavior of a component creating some asynchronous event are formulated as precondition and postcondition of this event.
Precondition of an event defines situations where this event can occur. If the precondition does not hold, the corresponding event should not occur in correct system. Postcondition of an event describes expected changes in the component state after occurrence of this event.
- Tests are partitioned into separate steps. During each step several operations can be called and several events can occur. At the end of a step test waits some time for possible asynchronous events related with the operations called in this step. So, at the end of each step the system under test is in a state where no other events can occur, unless some operations are called from the outside.
- Correctness of the operation of the system under test on each step is checked on the base of interleaving semantics. This means that the testing tool tries to put all the operation calls and events occurred on this step in a sequence where all their pre- and postconditions hold. If there are no such sequences, testing is stopped and the failure is reported.
- Test as a whole is constructed as a transition tour of a simplified finite state machine model of the system under test. This simplified model contains minimal information required to construct the next testing step and to ensure the necessary testing quality. The test does not detect failures, if all its steps do not detect them.
- On the base of testing results test reports are created, which contain information on test coverage obtained and on failures detected, if there are some failures.
JavaTESK 2.1 can be downloaded on the Downloads page.
|
|