Download presentation
Presentation is loading. Please wait.
Published byGrayson Alberts Modified over 9 years ago
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.