1 Jan Tretmans Radboud University Nijmegen (NL) © Jan Tretmans Radboud University Nijmegen together with: University of Twente Enschede.

Slides:



Advertisements
Similar presentations
Model-Based Testing and Test-Based Modelling
Advertisements

1 Lars Frantzen, Pieter Koopman, René de Vries, Tim Willemse, Jan Tretmans Radboud University Nijmegen © Jan Tretmans Radboud University Nijmegen Testing.
MOdel-based GENeration of Tests for Embedded Systems # FP7-ICT Embedded Systems Design WP3: Qualitative Fault Modelling András Pataricza,
MOdel-based GENeration of Tests for Embedded Systems # FP7-ICT Embedded Systems Design Institute for Software Technology – Graz University.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
1 FLACOS Malta October 2008 Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming.
VerTeCS Verification models and techniques applied to the Testing and Control of reactive Systems Thierry Jéron IRISA/INRIA Rennes, France
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Automated Model-Based Testing of Hybrid Systems Michiel van Osch PROSE January 25,
Software Engineering COMP 201
Model-based Testing of Hybrid Systems Michiel van Osch IPA Spring Days on Testing 19 April – 21 April 2006.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Model-Based Testing Ed Brinksma University of Twente Dept. of Computer Science Formal Methods & Tools group Enschede The Netherlands ARTIST2 Summer School.
1 Jan Tretmans Embedded Systems Institute Eindhoven Radboud University Nijmegen Model-Based Testing.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
1 Jan Tretmans University of Nijmegen © Jan Tretmans University of Nijmegen Model Based Testing Property Checking for Real.
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
1 SWE Introduction to Software Engineering Lecture 5.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
April 20, 2006 Model Program Based Black-Box Testing, Lentedagen, Vught, The Netherlands 1 Model Program Based Black-Box Testing Margus Veanes Foundations.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
1 Jan Tretmans Embedded Systems Institute Eindhoven, NL Radboud University Nijmegen, NL Model-Based Testing with Labelled Transition.
Texas A&M University Department of Computer Science Sameh S. Sharkawi
The State of Hybrid Model-Based Testing Michiel van Osch
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Testing with Formal Methods Ed Brinksma course 2004 A Formal Framework.
Advanced Technology Center Slide 1 Requirements-Based Testing Dr. Mats P. E. Heimdahl University of Minnesota Software Engineering Center Dr. Steven P.
Model-based Methods for Web Service Verification.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
By Ian Jackman Davit Stepanyan.  User executed untested code.  The order in which statements were meant to be executed are different than the order.
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
1 Introduction to Software Engineering Lecture 1.
Conformance Test Suites, Extensionally Arend Rensink University of Twente Dutch Workshop on Formal Testing Techniques University of Twente 13 September.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Formal methods & Tools Ed Brinksma University of Twente, Netherlands ISSTA/Wosp Rome, July 24 th, 2002 Qualitative and Quantitative Analysis of Software.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Black-box conformance testing for real-time systems Stavros Tripakis VERIMAG Joint work with Moez Krichen.
Ed Brinksma Course 2004 TorX : A Test Generation Tool.
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Model-driven Test Generation Oleg Sokolsky September 22, 2004.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
LSR Test purposes: adapting the notion of specification to testing Yves Ledru, L. du Bousquet, P. Bontron, O. Maury, C. Oriat, M.-L. Potet LSR/IMAG Grenoble,
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Formal Testing with Input-Output Transition Systems Ed Brinksma Course 2004.
© 2000 D EMO D AY 2000 Page 1 Automatic Generation of Conformance Test Cases from Use Case Maps Strategic Technology Leïla Charfi, Luigi Logrippo & group.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Test Generation for Input/Output Transition Systems Ed Brinksma Course 2004.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Methodological Issues in Model-Based Testing (MBT)
Software Design Methodology
Introduction to Software Testing
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Model-based testing of complex manufacturing systems: A case study
Presentation transcript:

1 Jan Tretmans Radboud University Nijmegen (NL) © Jan Tretmans Radboud University Nijmegen together with: University of Twente Enschede (NL) TorX Automated Model Based Testing with Formal Methods

© Jan Tretmans Radboud University Nijmegen 2 TorX : A utomated Model Based Testing with Formal Methods Contents  Model based testing  Formal, model based testing with transition systems  Transition systems testing and ioco  A Tool for transition systems testing  TorX  Current and future research  What does it mean for ARTIST2

© Jan Tretmans Radboud University Nijmegen 3 Automated Model Based TestingAutomatedModel BasedTesting model IUT conf model TTCN test cases pass fail test tool test generation tool test execution tool IUT passes tests IUT conf model     soundexhaustive

© Jan Tretmans Radboud University Nijmegen 4 Model Based Testing  Testing with respect to a (formal) model / specification  SDL, CSP, Lotos, Promela, UML, state diagrams, Spec#,....  Precise, formal definition of correctness  good and unambiguous basis for testing  Formal validation of tests  Algorithmic derivation of tests  tools for automatic test generation  Maintenance of models / specifications, not of test suites  regression testing

© Jan Tretmans Radboud University Nijmegen 5 Model Based Testing with Transition Systems s  LTS i  IOTS i ioco s pass fail test tool der : LTS   (TTS) t || i i || der(s)  pass i ioco s    soundexhaustive pass fail model IUT conf model test tool test generation tool test execution tool IUT passes tests IUT conf model    soundexhaustive 

© Jan Tretmans Radboud University Nijmegen 6 Formal Testing with Transition Systems exec : TESTS  IMPS   (OBS) der : LTS   (TTS) T s  TTS s  LTS IUT  IMPS ioco i IUT  IOTS passes : IOTS  TTS  {pass,fail} Proof soundness and exhaustiveness:  i  IOTS. (  t  der(s). i passes t )  i ioco s Test hypothesis :  IUT  IMP.  i IUT  IOTS.  t  TTS. IUT passes t  i IUT passes t pass / fail

© Jan Tretmans Radboud University Nijmegen 7 i ioco s = def   Straces (s) : out (i after  )  out (s after  ) Implementation Relation ioco Correctness expressed by implementation relation ioco: p  p=  !x  L U  {  }. p !x out ( P )= { !x  L U | p !x, p  P }  {  | p  p, p  P } Straces ( s )= {   (L  {  })* | s  } p after  = { p’ | p  p’ }

© Jan Tretmans Radboud University Nijmegen 8 Algorithm To generate a test case from transition system specification s 0 compute T(S), with S a set of states, and initially S = s 0 after  ; 1end test case pass For T(S), apply the following recursively, non-deterministically: 2supply input !a T ( S after ?a   ) Test Generation Algorithm allowed outputs or  : !x  out ( S ) forbidden outputs or  : !y  out ( S ) 3observe output fail T ( S after !x ) fail allowed outputsforbidden outputs ?y  ?x

© Jan Tretmans Radboud University Nijmegen 9 Validity of Test Generation For every test t generated with algorithm we have:  Soundness : t will never fail with correct implementation i ioco s implies i passes t  Exhaustiveness : each incorrect implementation can be detected with a generated test t i ioco s implies  t : i fails t

© Jan Tretmans Radboud University Nijmegen 10 A Tool for Transition Systems Testing: TorX  On-the-fly test generation and test execution  Implementation relation: ioco  Mainly applicable to reactive systems / state based systems;  specification languages: LOTOS, Promela, FSP, Automata TorX IUT observe output offer input next input specification check output pass fail inconclusive user: manual automatic

© Jan Tretmans Radboud University Nijmegen 11 TorX Tool Architecture explorerprimerdriveradapter IUT spec. states transitions abstract actions concrete actions specification text TorX IUT specification

© Jan Tretmans Radboud University Nijmegen 12 TorX

© Jan Tretmans Radboud University Nijmegen 13 TorX Case Studies  Conference Protocol  EasyLink TV-VCR protocol  Cell Broadcast Centre component  ‘’Rekeningrijden’’ Payment Box protocol  V5.1 Access Network protocol  Easy Mail Melder  FTP Client  “Oosterschelde” storm surge barrier-control  DO/DG dose control  Laser interface academic Philips LogicaCMG Interpay Lucent LogicaCMG academic LogicaCMG ASML/Tangram

© Jan Tretmans Radboud University Nijmegen 14 What has been Achieved …… Sound and precise formal basis for model based testing  ioco test theory  proved test derivation algorithm Test tool TorX  prototype tool for model-based formal testing  “is at least as good as conventional testing”  supports test generation and test execution  more, longer, and provably correct test cases Applied successfully to different cases studies

© Jan Tretmans Radboud University Nijmegen 15 ? money ? button1 ? button2 ! coffee ! tea test case fai l ! money ! button2 ? tea fai l ? coffee pass  n: int  [ n  35 ] -> [ n  50 ] -> with data model and time and hybrid c := 0 c < 10 c < 15 [ c  5 ] -> c := 0 d V t / dt = 3 d V c / dt = 2 V c := 0 [V c = 10 ] -> V t := 0 [V t = 15 ] -> ?coin1 ?coin3 ?coin2 and action refinement ? Testing Transition Systems:StatusExtensions

© Jan Tretmans Radboud University Nijmegen 16 Current and Future Research Twente & Radboud  Testing real-time aspects  multi-channel real-time  Testing complicated data structures  transformational- + transition system based testing  Action refinement  when an abstract action is implemented as sequence of actions  What is a good test suite  test selection and test coverage  Test adapter and test interface  generic test environment  Compositionality and integration testing  differences diminish

© Jan Tretmans Radboud University Nijmegen 17 Current and Future Research Twente & Radboud  Hybrid testing  when continuous variables occur  Compositionality and integration testing  differences diminish  Testing stochastic and probabilistic properties  Multi-disciplinary  system testing  Relations between model checking, testing, static analysis, theorem proving, etc.  differences diminish .....

© Jan Tretmans Radboud University Nijmegen 18 Some Dutch Testing Projects  Côte de Resyste ( ) - Conformance Testing of Reactive Systems: TorX PhilipsTU Eindhoven (LogicaCMG) (KPN) LucentUni. of Twente (Interpay)  Atomyste -ATOm splitting in eMbedded sYStem TEsting Uni. of TwenteRadboud Uni. Nijmegen  Stress - Systematic Testing of Real-time Embedded Systems  Testing real-time propertiesUni. of Twente  Testing data-intensive systemsRadboud Uni. Nijmegen  Tangram - Model Based Testing and Diagnosis  Testing ASML Wafer Stepper machines - application oriented ASML, ESI, TUD, TUE, UT, RU, S&T, TNO

© Jan Tretmans Radboud University Nijmegen 19 ARTIST2 Activities Quantitative Testing & Verification 1. Theory for testing embedded systems a.real-time aspects b.data aspects c.extended conformance testing theories integrating a. and b. d.test action refinement 2. Verification and scheduling a.real-time schedulability analysis b.optimal control synthesis 3. Verification of stochastic systems a.model checking algorithms for CTMC, MDP b.integration of performance analysis into verification 4. Tool-oriented research a.data structures for real-time and stochastic modelling and analysis b.test interfaces and test adapters 5. Application of testing and verification tools in industrial settings a.collection of case studies b.comparison c.identification of links to industrial tools

© Jan Tretmans Radboud University Nijmegen 20 ARTIST2 Activities Quantitative Testing & Verification 1. Theory for testing embedded systems a.real-time aspects b.data aspects c.extended conformance testing theories integrating a. and b. d.test action refinement 2.Verification and scheduling a.real-time schedulability analysis b.optimal control synthesis 3.Verification of stochastic systems a.model checking algorithms for CTMC, MDP b.integration of performance analysis into verification 4.Tool-oriented research a.data structures for real-time and stochastic modelling and analysis b.test interfaces and test adapters 5. Application of testing and verification tools in industrial settings a.collection of case studies b.comparison c.identification of links to industrial tools