Presentation is loading. Please wait.

Presentation is loading. Please wait.

SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.

Similar presentations


Presentation on theme: "SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015."— Presentation transcript:

1 SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015

2 Portland, 4/30/2015 2 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

3 Portland, 4/30/2015 3 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

4 Portland, 4/30/2015 4 CO-OPN Specification Language Algebraic Data Type (ADT) Petri Net (extended) Method Gate CO-OPN Class Account

5 Portland, 4/30/2015 5 Transactional Semantics and Concurrency Concurrency is automatically managed by Petri Nets… A transaction is either possible or the state of the system is not changed! Synchronization operators: Sim (//), Seq (..), Alt (+)

6 Portland, 4/30/2015 6 CO-OPN Specs as Models for Testing CO-OPN specs may be seen as reactive systems:  Stimulations: method events  Observations: method success and gate events (may be absent…) We can extend these notions to:  Stimulations: simple or synchronized method events  Observations: simple or synchronized gate events

7 Portland, 4/30/2015 7 Test Representation A Test is a graphof Stimulation / Observation pairs with a truth value; The graphs are expressed in Hennessy-Milner (HML) temporal logic:  Sequence  Negation  Conjunction

8 Portland, 4/30/2015 8 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

9 Portland, 4/30/2015 9 Why is our Test Selection Semi-Automatic? The test engineer employs her semantic knowledge of the SUT to manually:  Select execution paths to test (HML formulas);  Select the shape of stimulation/observation synchronizations;  Constrain parameters of stimulation/observation pairs. … and automatically find method parameters that correspond to equivalence classes of the method’s behavior

10 Portland, 4/30/2015 10 Test Selection Process “Manual” selection “Automatic” selection

11 Portland, 4/30/2015 11 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

12 Portland, 4/30/2015 12 What are Test Intentions? 3x A test intention selects a part of the model’s transition system and abstracts it… Test Intention 1 Test Intention 2

13 Portland, 4/30/2015 13 Writing Test Intentions A SATEL test intention is defined by axioms with constrained variables: Parameters of methods or gates  ADT types or Class types Stimulations Observations HML formulas A test intention “produces” a test set!

14 Portland, 4/30/2015 14 Language Features Test intentions described by axioms with constraints over variables; Recursion for describing repetitive paths in the labeled transition system; Reuse of test intentions for test composition.

15 Portland, 4/30/2015 15 Axiom Structure hmlFormula in intention cond 1 & cond 2 & … cond n => hmlFormula in intention HML( T> in login ; Axioms Variables obs : observation usr : username (ADT) Non constrained variables assume all their possible values ( usr into jean::luc::[]) = true => HML( T) in login; Algebraic condition constraining the usr variable subUniformity( usr ) => HML( in login; Select one value for “usr” per Behavior of the login operation

16 Portland, 4/30/2015 16 All constraints over variables “Automatic” constraining predicate

17 Portland, 4/30/2015 17 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

18 Portland, 4/30/2015 18 How to find tests For each test intention: 1. For each axiom find the set of variable substitutions that makes the condition true Except variables marked with subuniformity 2. Generate per axiom a set of partially instantiated HML formulas

19 Portland, 4/30/2015 19 How do we find tests (2) 3. Validate the partially instantiated tests through the Spec’s transition system to find values for the remaining variables… withdraw(m):(b >= m) => balance b -> balance b- m Algebraic condition allowing the method to fire Petri net pre-condition Petri net post-condition Appying a subuniformity predicate on m implies at each fire of the withdraw calculating one m for each equation: (b >= m) = true (b >= m) = false Calculated through logic programming…

20 Portland, 4/30/2015 20 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

21 Portland, 4/30/2015 21 Conclusions The technique allows model based test generation; The test engineer specifies customized reusable test intentions; Abstractions from the transition system are performed automatically! Work in progress…

22 Portland, 4/30/2015 22 Recursive Axioms and Test Intention Reuse Several axioms may exist for one test intention and they may be recursive: Variables f : HML [] in nWrongPins; f in nWrongPins => f. HML(<login(newUser(mario)) with errorLogin> T) in nWrongPins; Base case for the recursion (empty test intention) Recursive definition Axioms may be reused in other test intentions: f in nWrongPins & nbEvents( f ) f in 4LessWrongPins Condition over HML formulaTest intention reuse

23 Portland, 4/30/2015 23 “ Automatic” Constraints subUniformity( usr ) => HML( in login; During the transition induced by the “login” method select one value for “usr” per behavior of the login operation; This depends on the behavioral axioms defining the method!


Download ppt "SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015."

Similar presentations


Ads by Google