Download presentation

Presentation is loading. Please wait.

Published byGrayson Alberts Modified about 1 year 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/ 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/ 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/ CO-OPN Specification Language Algebraic Data Type (ADT) Petri Net (extended) Method Gate CO-OPN Class Account

5
Portland, 4/30/ 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/ 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/ 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/ 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/ 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/ Test Selection Process “Manual” selection “Automatic” selection

11
Portland, 4/30/ 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/ 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/ 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/ 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/ 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/ All constraints over variables “Automatic” constraining predicate

17
Portland, 4/30/ 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/ 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/ 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/ 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/ 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/ 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(

23
Portland, 4/30/ “ 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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google