45
Passive Testing Wissam Mallouli INT-LOR [email protected] Institut National des Télécommunications - Evry 11/30/2007

Passive Testing

  • Upload
    sarila

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Passive Testing. Wissam Mallouli INT-LOR [email protected] Institut National des Télécommunications - Evry 11/30/2007. Table of contents. Introduction Active/Passive Testing Forward checking technique The backward checking technique Signature based technique Conclusion. - PowerPoint PPT Presentation

Citation preview

Page 1: Passive Testing

Passive Testing

Wissam MallouliINT-LOR

[email protected]

Institut National des Télécommunications - Evry11/30/2007

Page 2: Passive Testing

11/30/2007 2

Table of contents

Introduction Active/Passive Testing Forward checking technique The backward checking technique Signature based technique Conclusion

Page 3: Passive Testing

11/30/2007 3

Table of contents

Introduction Active/Passive Testing Forward checking technique The backward checking technique Signature based technique Conclusion

Page 4: Passive Testing

11/30/2007 4

Introduction

Fault detection : essential domain but fastidious. Need of automation.

Testing of a system. Active/Passive testing techniques

Page 5: Passive Testing

11/30/2007 5

Table of contents

Introduction Active/Passive Testing Forward checking technique The backward checking technique Signature based technique Conclusion

Page 6: Passive Testing

11/30/2007 6

Active TestingActive Testing

IUTIUT Active Tester

Verdict:PASS,FAIL,INCONC.

Formal Specification

Formal Specification

Test SuitesTest

Suites

Automatic test generation based on formal descriptions

Generation of a : - reasonable test scenarios number (Execution)

- Complete (to cover all the system transitions)

Functional &Security

Functional &Security

Page 7: Passive Testing

11/30/2007 7

Conformance Testing(1/2)Conformance Testing(1/2)

• Check if the implementation of a system conforms to its specification

System(S)

System(I)

I

I

O

O1=O???

Page 8: Passive Testing

11/30/2007 8

Errors

1 2

3

3

1

1

21

i1 / o1

i1 / o2

i1 / o1

i1 / o2

SPECIFICATION

IMPLEMENTATION

output error

transfert error

mixte error

Page 9: Passive Testing

11/30/2007 9

Passive TestingPassive Testing

IUTIUT

Passive Tester

Verdict:PASS,FAIL,INCONC.

Security Properties

Specification

Security Properties

Specification

System UserSystem User

PO TraceCollection

Page 10: Passive Testing

11/30/2007 10

The two methods of conformity test (1/2) Active testing :

principe : send messages through the implementation, wait for answer, compare answer with the desired one

need two phases : test sequences generation tests application

pros and cons : + : possibility to focus on a particular area of the

specification - : automatic test generation is difficult - : can disturb (or crash) the IUT

Page 11: Passive Testing

11/30/2007 11

The two methods of conformity test (2/2) Passive testing :

principe : observation input/output sequences (trace), application of the trace on the spécification

pros and cons : + : no interference with the IUT + : no need of tests generation - : algorithms efficiency

Page 12: Passive Testing

11/30/2007 12

Table of contents

Introduction Active/Passive Testing Forward/backward checking

technique Signature based technique Conclusion

Page 13: Passive Testing

11/30/2007 13

Principles

Trace + Formal specification of the system

To map the trace in the specification

2 differents algorithms : forward and backward checking

Page 14: Passive Testing

11/30/2007 14

Example/Exercice

a/x b/y a/x b/y b/y a/y b/y a/y b/y (trace 1)a/x b/y a/x b/y b/y a/x b/x a/y b/y (trace 2)

S1 S2

S0 S3

a/y

a/y

b/y

b/y

b/y

a/x

b/y

a/x

Page 15: Passive Testing

11/30/2007 15

EFSM

EFSM (Extended Finite State Machine) : I/O events with or without parameters a predicate (to be satisfied) actions (to be done)

Page 16: Passive Testing

11/30/2007 16

EFSM : definitions

EFSM = heptuplet (S, s0, Sf, I, O, x, T) S : finite non empty set of states s0 : initial state Sf : finite set of final states I : finite set of input symbols ( parameters) O : finite set of output symbols ( parameters) x : finite set of variables T : finite set of transitions

Page 17: Passive Testing

11/30/2007 17

EFSM

Transition = sextuplet (st, ft, it, ot, Pt, At) st : initial state ft : final state it : input event ot : output event Pt : predicate At : set of actions

Page 18: Passive Testing

11/30/2007 1818

EFSM FormalismEFSM Formalism

S0 S2

S1 S3

a/y

a/y

b/yb/y

b/y

a/x

b/y

a/x

A(X0)

P(X0) true

S=(S0,S1,S2,S3) I=(a,b) O=(x,y)

Page 19: Passive Testing

11/30/2007 19

Variables values checking

Test by value determination Test by determination of interval of

variables

Page 20: Passive Testing

11/30/2007 20

Test by value determination

Principle value

determination according to an event trace (naive approach)

Page 21: Passive Testing

11/30/2007 21

Test by value determination

Algorithm in two phases : phase 1 : homing. Trace exploration until

only one candidat state stays phase 2 : error detection. Trace exploration

until the end, or an error

Page 22: Passive Testing

11/30/2007 22

Test by value determination

Variables determination : few possibles transitions giving different

values to one variable UNDEFINED variable

predicate with at least one UNDEFINED variable accepted predicate (doubt)

Page 23: Passive Testing

11/30/2007 23

State of art of passive testing

Test by value determination Test by determination of interval of

variables

Page 24: Passive Testing

11/30/2007 24

Test by determination of interval of variables

Principle Intervals to record values Assertions = boolean formula of predicates Uses Candidate Configuration Set (CCS)

Page 25: Passive Testing

11/30/2007 25

Le test par détermination d'intervalles de valeurs

Intervalles objectif : résoudre le problème de la perte

d'information (plusieurs valeurs possibles pour une variable)

notation : a v b R(v) = [a; b] v = a R(v) = [a; a]

Page 26: Passive Testing

11/30/2007 26

Test by determination of interval of variables

Intervals : operations sum of two intervals :

[a; b] + [c; d] = [a+c; b+d] Subtraction of two intervals :

[a; b] - [c; d] = [a-c; d-b] multiplication of an interval by a scalar :

w [a; b] = [wa; wb] si w 0 w [a; b] = [wb; wa] si w 0

Page 27: Passive Testing

11/30/2007 27

Test by determination of interval of variables

Consistency and refinement test refinement of intervals according to

constraints (predicats and actions) if an interval becomes empty then the

configuration is false

Page 28: Passive Testing

11/30/2007 28

Table of contents

Introduction Error types and testing methods State of art of passive testing The backward checking technique Conclusion

Page 29: Passive Testing

11/30/2007 29

The backward checking technique

Backward checking : principle Backtracking a transition Backtracking a trace Backtracking the past of a trace

Page 30: Passive Testing

11/30/2007 30

Backward checking : principle

Idea : « To understand present we must study the past »

Page 31: Passive Testing

11/30/2007 31

Backward checking : principle

Backward checking : backtracking the event trace backtracking the past of the trace

trace

past of the trace

FAIL

FAIL

FAIL

FAIL

OK

sens of the algorithm

sens of the trace

Page 32: Passive Testing

11/30/2007 32

Backward checking : principle

Advantages of this approach : start with correct information build artificially a longer trace

Page 33: Passive Testing

11/30/2007 33

Backward checking : principle

To validate a trace in the past we must validate special variables : determinants

Definition : a variable v is a determinant for the trace t if v must necessarily be validated before we can validate t

Page 34: Passive Testing

11/30/2007 34

The backward checking technique

Backward checking : principle Backtracking a transition Backtracking a trace Backtracking the past of a trace

Page 35: Passive Testing

11/30/2007 35

Backtracking a transition

i f

P : u>=1A : x=1 y=y+1 z=v+w

R = < f ; u [0;3], x [1;1], y [2;8], z [1;2], a [7;9] ; Asrt = - ; D = {u, y, z, a} >

R = < i ; u [1;3], a [7;9], cste [1;2], y [1;7] ; Asrt = v+w=cste ; D = {u, a, y, v, w} >

4

Page 36: Passive Testing

11/30/2007 36

The backward checking technique

Backward checking : principle Backtracking a transition Backtracking a trace Backtracking the past of a trace

Page 37: Passive Testing

11/30/2007 37

Backtracking a trace

similar to intervals determination algorithm but backward

process the transition backtracking for each I/O couple

Page 38: Passive Testing

11/30/2007 38

The backward checking technique

Backward checking : principle Backtracking a transition Backtracking a trace Backtracking the past of a trace

Page 39: Passive Testing

11/30/2007 39

Table of contents

Introduction Active/Passive Testing Forward checking technique The backward checking technique Invariant based technique Conclusion

Page 40: Passive Testing

11/30/2007 40

Test by invariants : principle

Definition : invariant = property that is always true

Two step test : extraction of invariants from the specification application of invariants on event traces from

implementation Problem : temporal logic not in the model Solution : I/O invariants

Page 41: Passive Testing

11/30/2007 41

Test by invariants : I/O invariants

An invariant is composed of two parts : the test (an input or output) the preambule (I/O sequence)

3 kind of invariants : output invariants input invariants succession invariants

Page 42: Passive Testing

11/30/2007 42

Test by invariants : Output invariant

Definition : invariant in which the test is an output

Meaning : « immediatly after the sequence préambule there is always the output test

Example : (i1 / o1) (i2 / o2)

(preambule in blue, test in red)

Page 43: Passive Testing

11/30/2007 43

Test by invariants : Input invariant

Definition : invariant in which the test is an input

Meaning : « immediatly before the sequence préambule there is always the input test

Example : (i1 / o1) (i2 / o2) (i3/

(preambule in blue, test in red)

Page 44: Passive Testing

11/30/2007 44

Test by invariants : succession invariant

Definition : I/O invariant for complex properties(loops …)

Example : the 3 invariants below build the property :

« only the third i2 we meet is followed by o3 » (i1 / o1) (i2 / o2)(i1 / o1) (i2 / o2) (i2 / o2)(i1 / o1) (i2 / o2) (i2 / o2) (i2 / o3)

Page 45: Passive Testing

11/30/2007 45

Test by invariants

+ : powerful method (complex properties) + : fast when invariants are known

- : difficulties to extract interesting invariants (not automated)

- : sensible to non-determinism of specification

- : doesn't detect every errors