190 likes | 351 Views
Test Synthesis from UML Model of Distributed Software. By Simon Pickin, Claude Jard, Thierry Jeron, Jean-Marc Jezequel. Nirmala Prabhu Talari 2442427 Graduate Seminar – CIS 601. GOAL OF THE STUDY. Develop a method and tool for the automated
E N D
Test Synthesis from UML Model of Distributed Software By Simon Pickin, Claude Jard, Thierry Jeron, Jean-Marc Jezequel Nirmala Prabhu Talari 2442427 Graduate Seminar – CIS 601
GOAL OF THE STUDY Develop a method and tool for the automated production of test cases (Scenarios) from state-based design models of distributed software within the UML Framework.
MAJOR TOOLS USED IN THE METHOD UMLAUT:- Is a CASE tool that manipulates the UML meta-model enabling automatic model transformation. TGV:- Is a tests synthesis tool based on an on-the-fly and partial traversal of the enumerated state graph of the specification. IOLTS:- Input and Output Labeled Transition System
METHOD OVERVIEW 1. Formal Specification Derivation: A labeled transition system (LTS) semantics is given to UML model via the generation of a simulation API which builds LTS incrementally. 2. Formal Objective Derivation: LTS semantics is given to the test objective represented in sequence-diagram-based language. 3. Test Synthesis on the Formal Models: A test case in the form of an IOLTS is synthesized from the specification LTS according to LTS. 4. UML Test case derivation: Sequence diagram based representation of the test case is derived.
FROM UML MODEL TO LTS 1. An Executable UML system Model: - The Dynamic Behavior of the System Objects - The State Machine Action Language - The Initial State of the Model 2. Transforming the UML Model: - Subset of UML consisting of Classes and operations. 3. Deriving an LTS from Transformed Model: - Umlaut generates simulation API to construct the semantics. - TGV uses this API to construct LTS enabling on-the-fly. - Labels on Generated LTS Transitions: Reception of Asynchronous Invocation – origin?opname(val1,……….,valn) Spontaneous Transition - origin!spontaneous_transition_actionexp origin!reciever_role.opname(param1,…paramn)
4. Deriving an OLTS from the LTS: - Characteristic Function Xhide :Partitions ∑-actions into internal actions and visible actions. - Characteristic Function Xio: Partitions the visible ∑-actions into SUT inputs and SUT outputs. 5. Deriving an LTS: - In Umlaut, active objects (external actors communicate asynchronously via FIFO event queues while passive objects communicate synchronously without intermediate queues.
UML MODEL OF THE ATC EXAMPLE Class Diagram
FROM UML TEST OBJECTIVES TO LTS 1. UML Sequence-Diagram Test Objectives: - Accept Scenarios:- Positive criteria for selecting the behavior to be tested. - Reject Scenarios:- Negative criteria to avoid selecting unwanted behavior. Test Objective of the ATC Example
2. LTS Test Objectives: - Accept States:- When transition is fired at such a state the test objective is achieved. - Reject States:- When transition is fired at such a stated the objective cannot be achieved. Accept & Reject LTS LTS Representation of Test Objective
TEST SYNTHESIS OF IOLTS TEST CASE 1. Inputs of the Test Synthesis Tool: - A Simulation API; to construct LTS - An LTS representing the test - Specification of which actions are internal(-hide option) - Specification of which actions are input/output(-io option) 2.Output of the Test Synthesis Tool: - The output is an IOLTS representing a test case which is predefined interactions between the tester (system environment) and the implementation.
FROM IOLTS TO UML TEST CASE • TeLa is a UML sequence diagram-based language which derives a scenario from an IOLTS representing a test case. • The TeLa diagram follows the IOLTS semantic restrictions and the object name precedes the method name separated by a dot. • A test case is represented using only two lifelines one for SUT and one for the Tester.
FUTURE WORK • Formal Specification Derivation • Formal Objective Derivation • Test Synthesis
CONCLUSION The results presented in the paper constitute the first complete proposal to synthesize conformance test cases from high-level scenarios that is fully integrated in the UML framework and has a fully formal basis obtained by giving an operational semantics to UML models in the form of labeled transition systems.