TGV Tool [1]
description
Transcript of TGV Tool [1]
TGV Tool[1]
Florian WinkelbauerAK Softwaretechnologie 1 (716.174)
2
Content
Conformance Testing
Input Output Labelled Transition Systems General Deterministic IOLTS ioco
TGV Overview Functional view
3
Conformance Testing
Test non-deterministic reactive systems
Check if IUT behaves like specification (oracle) IUT = Implementation Under Test
Black Box IUT code is unknown, behaviour only visible
by interaction Test hypothesis
4
IOLTS
QS = StatesAS = Actionss = Transitionq0
S = Initial State
AS:• Input Alphabet• Output Alphabet• Alphabet of Internal Actions
DS:• S with d
5
Deterministic IOLTS
det(D(S))
6
ioco
IUT1 ioco S !(IUT2 ioco S)
7
TGV
Test Generation with Verification Technology
Based on labelled transition models (IOLTS) Specification of visible behaviour
Generation of abstract test cases
Example of a full run
8
TGV functional view
9
Test purpose
Modelled by automata (formally IOLTS) Extension▪ Accept select target behaviour▪ Refuse cut down exploration▪ „*“ label for completion▪ Regular expression
Efficient test selection „on-the-fly“ Generate test cases by partial exploration
of graphs
10
Input for TGVSpecification Test Purpose
How to compute intersection?
11
Synchronous product SP = S x TP
12
Test Creation Create SPVIS by extracting visible behaviour
Extract test case by selection of accepted behaviour Mirror image Complete inputs
Test Case Pass Fail Inconclusive (behaviour ok, but not reachable through
TP)
13
SPVIS
14
Complete Test Graph
15
A possible Test Case
16
Conclusion
Can synthesize tests from industrial size specifications, but improvements are still needed
Problems Test Purpose (expertise needed) Distributed Systems Symbol variables beyond the scope
17
Reference
[1] Claude Jard and Thierry Jéron. TGV: theory, principles and algorithms. International Journal on Software Tools for Technology Transfer (STTT), 7(4):297-315, 2005