BAiT: Adaptive Test Case Execution in Practice Jens R. Calamé Centrum voor Wiskunde en Informatica, Amsterdam.

Slides:



Advertisements
Similar presentations
Chapter 4 Loops Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved
Advertisements

BPEL4WS Business Process Execution Language for Web Services Jim Clark eBusiness Strategist
Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009.
Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.1 Enjoying the Perks of Model-based Testing Ibrahim K. El-Far Florida Institute.
Requirements Engineering Processes – 2
Embedded Systems & Parallel Programming P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems.
Chapter 7 Constructors and Other Tools. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 7-2 Learning Objectives Constructors Definitions.
Multicriteria Decision-Making Models
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group Part 2: Functional Testing.
Quality Education Investment Act of 2006 (QEIA) 1 Quality Education Investment Act (QEIA) of 2006 County Superintendents Oversight and Technical Assistance.
Career Newsletter by Dan Florescu BEST Corporate Relations Coordinator BEST Partners Round Table - Tallinn 2008.
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Grid.
NexSAT NexSAT Steering Group Meeting - 8 June 2004 © 2004 European Organisation for the Safety of Air Navigation (EUROCONTROL) 1 Welcome to the 4th meeting.
(c) 2007 Mauro Pezzè & Michal Young Ch 17, slide 1 Test Execution.
Testing Workflow Purpose
Chapter 5 Plan-Space Planning.
# The Core Cadastre Domain Model Survey Package and Model Driven Architecture Master Thesis Project Approach The Core Cadastre Domain Model.
Heppenheim Producer-Archive Interface Specification Status of standardisation project Main characteristics, major changes, items pending.
Coursework.  5 groups of 4-5 students  2 project options  Full project specifications on 3 rd March  Final deadline 10 th May 2011  Code storage.
31242/32549 Advanced Internet Programming Advanced Java Programming
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
1 Object Oriented Programming Ras Bodik, Thibaud Hottelier, James Ide UC Berkeley CS164: Introduction to Programming Languages and Compilers Fall 2010.
McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe.
Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear.
Claus Brabrand, UFPE, Brazil Aug 11, 2010DATA-FLOW ANALYSIS Claus Brabrand ((( ))) Associate Professor, Ph.D. ((( Programming, Logic, and.
From Model-based to Model-driven Design of User Interfaces.
University of Rostock 1 CADUI' June FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 3 Loops.
Tool support for Distributed Object Technology
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
1st DWFTT - 21/06/05 - Amsterdam TT-Medal Project Overview Jaco van de Pol CWI, SEN 2 Amsterdam Stefan Blom, Jens Calamé, Wan Fokkink, Nicu Goga, Natalia.
Software Design Deriving a solution which satisfies software requirements.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Automated Model-Based Testing of Hybrid Systems Michiel van Osch PROSE January 25,
Model-based Testing of Hybrid Systems Michiel van Osch IPA Spring Days on Testing 19 April – 21 April 2006.
Towards Automatic Generation of Parameterized Test Cases from Abstractions Jens R. Calamé Natalia Ioustinova Jaco van de Pol Centrum voor Wiskunde en Informatica,
Adaptive Hypermedia on the Web: Methods, Technology and Applications Paul De Bra Eindhoven University of Technology Eindhoven, The Netherlands Centrum.
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio VALID Meeting - Besançon 10/3/06.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
CS 586 – Distributed Multimedia Information Management Prof. Dennis McLeod.
Design Patterns Standardized Recurring model Fits in many location Opposite of customization Fundamental types of pattern Choose and use as desired and.
Software Development Stephenson College. Classic Life Cycle.
RITA demonstration Juha Taina, Antti Tevanlinna. Rita prototype status Following the preliminary specifications we started Rita prototype implementation.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Automatic Test Generation from here until the end (of my Phd.) University of Geneva Levi Lúcio SMV & Les Diablerets.
Selected Topics in Software Engineering - Distributed Software Development.
Conformance Test Suites, Extensionally Arend Rensink University of Twente Dutch Workshop on Formal Testing Techniques University of Twente 13 September.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland.
Testing Railway Interlockings with N. Ioustinova, J. van de Pol, N. Goga Centrum voor Wiskunde en Informatica Amsterdam, The Netherlands TT-Medal Review.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Black-box conformance testing for real-time systems Stavros Tripakis VERIMAG Joint work with Moez Krichen.
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
Testing Railway Interlockings with TTCN-3 Stefan Blom University of Innsbruck Natalia Ioustinova,Jaco van de Pol
Declarative Programming in Java using JSetL E. PanegaiG. Rossi Dipartimento di Matematica Università di Parma Roma, Giugno 2005 Convegno Italiano.
Time Abstraction in Simulation-Based Hardware Verification Alexander Kamkin Institute for System Programming of the Russian Academy of.
VIGNAN'S NIRULA INSTITUTE OF TECHNOLOGY & SCIENCE FOR WOMEN TOOLS LINKS PRESENTED BY 1.P.NAVEENA09NN1A A.SOUJANYA09NN1A R.PRASANNA09NN1A1251.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Model Based Testing implementing with tools Ruud van Houwelingen 1 December 2, 2009.
An Automated Test Generation Process from UML Models to TTCN-3 Jens R. Calamé.
From Conventional Languages to Prolog –What we can do in conventional languages but not in Prolog –What we can do in Prolog but not in conventional languages.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
An Automated Test Generation Process from UML Models to TTCN-3
SWE 434 SOFTWARE TESTING AND VALIDATION LAB2 – INTRODUCTION TO JUNIT 1 SWE 434 Lab.
Automatic Performance Tuning: Automatic Development of Tunlets
Some Programming Paradigms
Test Generation with Abstraction and Concretization
Presentation transcript:

BAiT: Adaptive Test Case Execution in Practice Jens R. Calamé Centrum voor Wiskunde en Informatica, Amsterdam

DWFTT 2007, Enschede2 Agenda 1.Introduction 2.The Toolset for BAiT 3.An Exemplary Case: The ATM 4.Structure of BAiT 5.Conclusion

DWFTT 2007, Enschede3 Introduction BAiT: Behavior Adaptation in Testing Toolset to generate test cases and test oracles as well as execute tests on nondeterministic systems with data

DWFTT 2007, Enschede4 Agenda 1.Introduction 2.The Toolset for BAiT 3.An Exemplary Case: The ATM 4.Structure of BAiT 5.Conclusion

DWFTT 2007, Enschede5 BAiT: Test Case & Oracle Generation Test generation with TGV (enumerative approach) Chaotic data abstraction for input and output parameters of events Test oracle generation for Eclipse Prolog constraint solver in order to select test data Automatic generation of variable names for the test case

DWFTT 2007, Enschede6 BAiT: Test Proxy Generation Test Proxy for Java-based SUTs Instantiation of test object within test proxy Procedure-based bidirectional communication (publisher- subscriber pattern) Mapping of datatypes from specification language to target platform

DWFTT 2007, Enschede7 BAiT: Test Execution Test execution of pre- calculated test trace (behavior and data) Adaptation to the IUT's reactions, rather than immediate assignment of verdict BAiT framework provides adapters for user-defined –trace selection and –test data selection algorithms

DWFTT 2007, Enschede8 Agenda 1.Introduction 2.The Toolset for BAiT 3.An Exemplary Case: The ATM 4.Structure of BAiT 5.Conclusion

DWFTT 2007, Enschede9 An Exemplary Case: The ATM ATM specification (partially)ATM test purpose (completely)

DWFTT 2007, Enschede10 An ATM Test Case Photos: Wikipedia and ECB !getPin(1234)?pinCorrect !getAmount(100) !initBalance(1000)?retFifty(2) ?retFifty(1)?retTwenty(2)?retTen(1) ? !initPin(1234)

DWFTT 2007, Enschede11 An ATM Test Case (2) May 25, :06:19 PM nl.cwi.sen2.bait.steps.TraceImpl merge FINE: Pruning planned test trace. May 25, :06:19 PM nl.cwi.sen2.bait.RunTest findTrace FINER: Examining: [init],initPin(Pin),getPin(PinUser),pinCorrect, initBalance(Bal),getAmount(Amt),[tau],retFifty(Fif),emitBankNotes May 25, :06:19 PM nl.cwi.sen2.bait.steps.TraceImpl solve FINEST: init(G1),initPin(G1,G2,lparam(nat(Pin))),[...] [Pin in {[-Infinity.. Infinity]} => 1234] May 25, :06:21 PM nl.cwi.sen2.bait.steps.TraceImpl solve FINEST: init(G1),initPin(G1,G2,lparam(nat(1234))),[...] [...] May 25, :06:26 PM nl.cwi.sen2.bait.RunTest executeTest INFO: Trying: [init],initPin(1234),getPin(1234),pinCorrect, initBalance(1000),getAmount(100),[tau],retFifty(2),emitBankNotes May 25, :06:26 PM nl.cwi.sen2.bait.RunTest executeTest FINE: initPin(1234) -> OK [...] May 25, :06:26 PM nl.cwi.sen2.bait.RunTest executeTest FINE: retFifty(2) -> NOT OK May 25, :06:26 PM nl.cwi.sen2.bait.RunTest executeTest INFO: Expected: retFifty(2), received: retFifty(1) -> Trace failed, trying alternative. 1. Precalculation of possible test trace 2. Iterative data selection 3. Stepwise execution of the trace… …until the IUT deviates from the precalculated trace.

DWFTT 2007, Enschede12 An ATM Test Case (3) May 25, :06:26 PM nl.cwi.sen2.bait.RunTest executeTest INFO: Trace deviated; executed so far: [init],initPin(1234),getPin(1234),pinCorrect,initBalance(1000), getAmount(100),[tau],retFifty(1),retTwenty(2),retTen(1), emitBankNotes May 25, :06:26 PM nl.cwi.sen2.bait.steps.TraceImpl merge FINE: Pruning planned test trace. May 25, :06:26 PM nl.cwi.sen2.bait.steps.TraceImpl merge FINE: Adding retFifty(1) to trace stub. [...] May 25, :06:26 PM nl.cwi.sen2.bait.steps.TraceImpl merge FINE: Adding emitBankNotes to trace stub. May 25, :06:27 PM nl.cwi.sen2.bait.RunTest executeTest INFO: Test finished; executed: [init],initPin(5),getPin(5), pinCorrect,initBalance(1000),getAmount(100),[tau],retFifty(1), retTwenty(2),retTen(1),emitBankNotes May 25, :06:27 PM nl.cwi.sen2.bait.RunTest executeTest INFO: The test case ended with verdict PASS. 5. Appending received system output to trace. 6. Solve test trace with pending system output; assign verdict or calculate new trace. 4. Pruning not yet executed part of test trace.

DWFTT 2007, Enschede13 Agenda 1.Introduction 2.The Toolset for BAiT 3.An Exemplary Case: The ATM 4.Structure of BAiT 5.Conclusion

DWFTT 2007, Enschede14 Structure of BAiT: The Tools BAiT: Behavior Adaptation in Testing Toolset to generate test cases and test oracles as well as execute tests on nondeterministic systems with data

DWFTT 2007, Enschede15 Structure of BAiT: Execution Part BAiT Execution Core Behavior Mapping Constraint Solver Behavior Mapping Impl. Under Test Data Mapping Constraint Solver Data Mapping Impl. Under Test Impl. Under Test Constraint Solver Trace Selection Data Selection Trace class: trace execution management Step class: communication with IUT Trace selection from complete test graph (IOLTS with all possible test cases for a given test purpose) Test Oracle Test Case(s) Variable class: Codec of data to constraint solver, data instantiator and IUT Data instantiation algorithm(s)

DWFTT 2007, Enschede16 Agenda 1.Introduction 2.The Toolset for BAiT 3.An Exemplary Case: The ATM 4.Structure of BAiT 5.Conclusion

DWFTT 2007, Enschede17 Conclusion Behavior Adaptation in Testing helps finding more reliable verdicts in testing non-deterministic systems A prototypical framework for BAiT has been developed procedure-based setting with atomic data Further work: –Extension of framework for other settings –Extension of framework to structured datatypes –Case Study: Mozilla Firefox CSS subsystem

DWFTT 2007, Enschede18 Further Information Background information Calamé, Jens R.; Ioustinova, Natalia; Pol, Jaco van de; Sidorova, Natalia; Data Abstraction and Constraint Solving for Conformance Testing (APSEC 2005). Calamé, Jens R.; Ioustinova, Natalia; Pol, Jaco van de; Towards Automatic Generation of Parameterized Test Cases from Abstractions. Technical Report, The toolset/framework itself Calamé, Jens R.; Adaptive Test Case Execution in Practice. Technical Report, Calamé, Jens R.; The Internals of Adaptive Test Case Execution. Technical Report, to appear. All downloadable from Contact: Jens R. Calamé CWI, Amsterdam