03.01.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!