Timed Testing - @let@token TORX --- A (t)ioco-based Testing Tool
Timed Testing - @let@token TORX --- A (t)ioco-based Testing Tool
Timed Testing - @let@token TORX --- A (t)ioco-based Testing Tool
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Timed</strong> <strong>Testing</strong><br />
<strong>TORX</strong> — A (t)<strong>ioco</strong>-<strong>based</strong> <strong>Testing</strong> <strong>Tool</strong><br />
Lehrstuhl Informatik 2 (MOVES)<br />
RWTH Aachen<br />
Summer Semester 2007<br />
1 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
2 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification-Based <strong>Testing</strong><br />
System<br />
specification<br />
Formal<br />
model<br />
Test-Case<br />
Generator<br />
Test-<br />
Executor<br />
pass/fail<br />
Test-Suite<br />
3 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification-Based <strong>Testing</strong><br />
System<br />
specification<br />
Formal<br />
model<br />
Test-Case<br />
Generator<br />
Test-<br />
Executor<br />
pass/fail<br />
Test-Suite<br />
Implementation<br />
according to<br />
Model<br />
3 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification-Based <strong>Testing</strong><br />
We have covered:<br />
Formal models up to timed models<br />
relations between formal specifications and formal<br />
implementations<br />
test cases, test suits<br />
test execution<br />
We never left the formal world<br />
4 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
TorX: A testing tool <strong>based</strong> on the (t)<strong>ioco</strong>(M) theory<br />
5 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
6 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Architecture<br />
Specification<br />
Explorer Primer Driver Adaptor IUT<br />
7 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Explorer<br />
Specification<br />
Explorer Primer Driver Adapter IUT<br />
Responsible to translate specification in LTS<br />
representation<br />
exchangeable component<br />
Explorers for: LOTOS, Promela, mCRL, timed automata<br />
8 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Primer<br />
Specification<br />
Explorer Primer Driver Adapter IUT<br />
Implements test-case generation<br />
Specifications given as LTS (explorer)<br />
On-the-fly testing: Test case-generation and -execution are<br />
done simultaneously<br />
A new part of the test case is generated by need<br />
casts verdicts<br />
9 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Driver<br />
Specification Explorer Primer Driver Adapter IUT<br />
Control component (motor) of the whole tool chain:<br />
GUI<br />
Decides how to proceed with testing (input/output),<br />
conulting the adapter<br />
negotioates between primer and adapter<br />
10 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Adapter<br />
Specification<br />
Explorer Primer Driver Adapter IUT<br />
The interface between the formal world and the physical<br />
world<br />
translates abstract actions into concrete actions:<br />
a i? ∈ Act I might be translated to an RPC to the IUT<br />
The output of the rpc might be translated back to an output<br />
o! ∈ Act U<br />
records occurrence times of inputs and outputs<br />
generates quiescence signals after timeout M<br />
Examples: http server, HTML browser engine, GUI,<br />
network component<br />
11 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
IUT<br />
Specification<br />
Explorer Primer Driver Adaptor<br />
IUT ˆ= Implementation Under Test<br />
is supposed to behave like the Specification allows<br />
must obey the testing hypothesis: can be modeled as<br />
<strong>ioco</strong> : IOTS<br />
t<strong>ioco</strong>M: an input-enabled, M-quiescent TLTS, where M is<br />
known<br />
Examples: http server, HTML browser engine, GUI,<br />
network component<br />
IUT<br />
12 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
13 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification formalism: timed automata<br />
Specification: a coffee machine<br />
Implementation: a timed automaton simulator<br />
<strong>Testing</strong> tool: TorX<br />
14 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Timed</strong> Automata<br />
What are <strong>Timed</strong> Automata?<br />
Think: LTS with some extras:<br />
Clocks<br />
Guards<br />
Invariants<br />
Resets<br />
=⇒ some slides from JP Katoen (Advanced Model Checking)<br />
15 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Timed</strong> Automata<br />
What are <strong>Timed</strong> Automata?<br />
Think: LTS with some extras:<br />
clock x<br />
l<br />
x ≤ 2<br />
i?/o!/τ/δ<br />
x ≥ 1<br />
x := 0<br />
l ′<br />
15 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Timed</strong> Automata<br />
What are <strong>Timed</strong> Automata?<br />
Think: LTS with some extras:<br />
0<br />
1<br />
i?/o!/τ<br />
2<br />
15 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification: a Coffee Machine<br />
16 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification: a Coffee Machine<br />
Delta!<br />
M
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Specification: a Coffee Machine<br />
Skip to UPPAAL<br />
16 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Implementation: simulating a timed automaton<br />
Skip to simulator<br />
17 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Testing</strong><br />
Skip to demo<br />
18 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
<strong>Testing</strong>: A Mutant<br />
Delta!<br />
M
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
What to do with this?<br />
Confession:<br />
This course was advertisement for the line of research I am<br />
doing.<br />
(fishing for diploma/master students)<br />
Possible Master/Diploma projects:<br />
General Theme: timed testing<br />
Practical: Case studies<br />
theoretical work<br />
with or without accompanying tool development<br />
20 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
21 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
22 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Overview over the course:<br />
1 Specifiying Labelled Transition Systems<br />
2 Preorders, the linear-time/branching time spectrum<br />
3 Observing Behaviour: preorders, observers, etc.<br />
4 Towards “real” testing: Conformace testin with inputs and<br />
outputs: <strong>ioco</strong><br />
5 <strong>Timed</strong> <strong>Testing</strong>: t<strong>ioco</strong>M<br />
23 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
24 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Disclaimer:<br />
THIS LIST IS NOT<br />
EXHAUSTIVE!!!<br />
25 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
In general<br />
Identify similarities<br />
Quite some similarities between the presented topics:<br />
blatantly obvious in Chapter 3 (≤tr , ≤ f , ≤ ft, . . . )<br />
Structure of, e.g., induction proofs<br />
. . .<br />
Identify the really important bits<br />
Might Theorem 4.6.1 be of importance? The only theorem<br />
with a complete proof in the whole script? (Read this as a<br />
rhetorical question).<br />
. . . and know them<br />
26 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
About the exercises<br />
Do not just memorise the solutions<br />
try to understand and replicate them<br />
you should be able to tackle (at least in principle) similar<br />
problems in the exam (proof ideas and such).<br />
27 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1) Specifiying Labelled Transition Systems<br />
Basic definitions<br />
Processes: Syntax/Semantics<br />
non-determinism<br />
28 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
2) Preorders etc<br />
Basic definitions (preorders, corser/finier etc.)<br />
Trace preorder<br />
Bisimulation<br />
linear time-branching time spectrum: what does it depict?<br />
relation to non-determinism<br />
29 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
3) Observing Behaviour<br />
Basic definitions of the preorders<br />
Where to find them in the lt-bt-spectrum?<br />
Observers, Observations, relations to preorders,<br />
proof(-idea)s etc.<br />
relevant examples<br />
The problem with τ-steps and divergence<br />
30 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
4) Conformance testing with inputs and outputs<br />
Basic definitiosn<br />
Concepts like input-enbledness, quiescence, and where<br />
they are needed.<br />
The four definitions of iot<br />
<strong>ioco</strong>nf, ior, <strong>ioco</strong>, differences, etc.<br />
why are we not content with ior, why <strong>ioco</strong><br />
31 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
5) <strong>Timed</strong> <strong>Testing</strong><br />
This Chapter is<br />
Yet . . .<br />
the most complicated<br />
the least developed (no proofs)<br />
Basic definitions (TLTS)<br />
meaning of time-divergence, input-patience etc.<br />
definition t<strong>ioco</strong>M<br />
idea behind test cases and the test case-generation<br />
algorithm<br />
32 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
1 Introduction<br />
2 TorX<br />
3 A demo in timed testing<br />
4 Preparing for the/an oral exam<br />
Overview<br />
What do I expect from you to know?<br />
How to prepare<br />
33 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
Important to remember<br />
Important to remember<br />
You have to tell what you know (with the help of pencil and<br />
paper)<br />
You must not only know the answers, but know how to tell<br />
the answers<br />
How to prepare<br />
practice to tell somebody what you know<br />
Learn with somebody else<br />
Generate questions<br />
Ask them and let others try to answer them<br />
34 / 35
Introduction TorX A demo in timed testing Preparing for the/an oral exam<br />
In case of questions:<br />
Availability<br />
Until September<br />
From October on<br />
35 / 35