Tactic-Based Testing Peter Braun, Benjamin Flach, Reinhard Jeschull, Jan Philipps MBTUC 2011 | Berlin, 18-20 October 2011.

Slides:



Advertisements
Similar presentations
Towards Data Mining Without Information on Knowledge Structure
Advertisements

TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
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.
2017/3/25 Test Case Upgrade from “Test Case-Training Material v1.4.ppt” of Testing basics Authors: NganVK Version: 1.4 Last Update: Dec-2005.
Bellwork If you roll a die, what is the probability that you roll a 2 or an odd number? P(2 or odd) 2. Is this an example of mutually exclusive, overlapping,
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Combining Like Terms. Only combine terms that are exactly the same!! Whats the same mean? –If numbers have a variable, then you can combine only ones.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 11: Structure and Union Types Problem Solving & Program Design.
19 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Developing Web Services.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
3 Copyright © 2005, Oracle. All rights reserved. Basic Java Syntax and Coding Conventions.
11 Copyright © 2005, Oracle. All rights reserved. Using Arrays and Collections.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
8 Copyright © 2005, Oracle. All rights reserved. Creating the Web Tier: JavaServer Pages.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
We need a common denominator to add these fractions.
Title Subtitle.
Prepared by: Workforce Enterprise Services For: The Illinois Department of Commerce and Economic Opportunity Bureau of Workforce Development ENTRY OF EMPLOYER.
0 - 0.
2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt Time Money AdditionSubtraction.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
ADDING INTEGERS 1. POS. + POS. = POS. 2. NEG. + NEG. = NEG. 3. POS. + NEG. OR NEG. + POS. SUBTRACT TAKE SIGN OF BIGGER ABSOLUTE VALUE.
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Chapter 6 File Systems 6.1 Files 6.2 Directories
Date: File: PRO1_17E.1 SIMATIC S7 Siemens AG All rights reserved. Information and Training Center Knowledge for Automation Solutions (Version.
ZMQS ZMQS
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Welcome. © 2008 ADP, Inc. 2 Overview A Look at the Web Site Question and Answer Session Agenda.
Configuration management
Software change management
Software engineering and standardisation section (TEC-EME) 1 Automatic test case generation from a formal model LTG technology evaluation based on a B.
1 Automating Auto Tuning Jeffrey K. Hollingsworth University of Maryland
Software testing.
Testing Workflow Purpose
Automated Testing Ted Driggs (tdriggs). What Verify program behavior without human interaction Programmatically load and run test code on a wide array.
Interconnection Test Framework Josef Hammer jun. Marc Magrans de Abril · Christian Hartl · Thomas Themel · Franz Mittermayr 15 June 2011.
1 A Test Automation Tool For Java Applets Testing of Web Applications TATJA Program Demonstration Conclusions By Matthew Xuereb.
© 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Towards a Model-Based Characterization of Data and Services Integration Paul.
Data Structures Using C++
Chapter 1 Object Oriented Programming 1. OOP revolves around the concept of an objects. Objects are created using the class definition. Programming techniques.
Access Lesson 13 Programming in Access Microsoft Office 2010 Advanced Cable / Morrison 1.
Displaying Data from Multiple Tables
Code Generation in CDE Remi Lequette ILOG.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1© DATOS Computer AG – The Framework for higher Efficiency Tool Catalogs Documents + Planning Assembly + Logistics Storage Systems Job.
1 Department of Computer Science, University of Sheffield eXtreme Programming - Practices Dr. Marian Gheorghe.
Database System Concepts and Architecture
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Chapter 10 Software Testing
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
Addition 1’s to 20.
25 seconds left…...
Subtraction: Adding UP
Equal or Not. Equal or Not
Test B, 100 Subtraction Facts
Week 1.
We will resume in: 25 Minutes.
12 January 2009SDS batch generation, distribution and web interface 1 ExESS IT tool for SDS batch generation, distribution and web interface ExESS IT tool.
Bottoms Up Factoring. Start with the X-box 3-9 Product Sum
1 Unit 1 Kinematics Chapter 1 Day
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Dataflow Programming with MaxCompiler.
Section 1: Process to create EAS Interface File  DoD Batch and Timecard Status Report  DoD Employee Missing Payroll Data Report  Distribute Labor Cost.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Presentation transcript:

Tactic-Based Testing Peter Braun, Benjamin Flach, Reinhard Jeschull, Jan Philipps MBTUC 2011 | Berlin, October 2011

Page 2Validas AG Model-Based Testing Search criteria Test case generator Behavior model Test cases Model determines search paths Model provides reference values Model returns coverage data

Page 3Validas AG Lessons Learned Complex data spaces and algorithms Modeling language and tool issues Inclusion of prior knowledge of developers

Page 4Validas AG Tactic-Based Testing Data model Tactic Interpreter & Coverage measurement Tactic Interpreter & Coverage measurement Tactics Test cases Oracle model Tactic determines search paths Coverage over tactic, data and oracle models Oracle model provides reference values Main idea: Seamless combination of model- and script-based testing

Page 5Validas AG Tactic-Based Testing - Framework Data model Tactic Interpreter & Coverage measurement Tactic Interpreter & Coverage measurement Tactics Test cases Oracle model Data models based on EMF, Java, … Oracle models in UML, Java or JRuby. Generic interface for other languages Test case and coverage data output as XML JRuby as tactic language

Page 6Validas AG Tactic-Based Testing – Tactics Use of tactics to build up arbitrary search strategies The structure of the tactics defines the structure of the test cases Tactic parameters Partial test case TT Set of partial test cases

Page 7Validas AG Tactic Based Testing – Sample incorrect_pins = [...] # List of 5 incorrect PINs tacSelFile = step("select", {"file" => ["1C38", "69A5", "CA4B"]}) tacNothing = identity(); tacVerifyOnce = step("verify_chv", {"chvValue" => CORRECT_CHV}) tacVerifyTwice = step("verify_chv", {"chvValue" => incorrect_pins}) >> step("verify_chv", {"chvValue" => CORRECT_PIN}) tacRead = step("select", {"recNo" => [1, 3, 10], "mode" => [RecordMode::ABSOLUTE]}) # Try to read a record of a file after (in)correct/missing card holder verification return tacSelFile >> (tacNothing | tacVerifyOnce | tacVerifyTwice) >> tacRead incorrect_pins = [...] # List of 5 incorrect PINs tacSelFile = step("select", {"file" => ["1C38", "69A5", "CA4B"]}) tacNothing = identity(); tacVerifyOnce = step("verify_chv", {"chvValue" => CORRECT_CHV}) tacVerifyTwice = step("verify_chv", {"chvValue" => incorrect_pins}) >> step("verify_chv", {"chvValue" => CORRECT_PIN}) tacRead = step("select", {"recNo" => [1, 3, 10], "mode" => [RecordMode::ABSOLUTE]}) # Try to read a record of a file after (in)correct/missing card holder verification return tacSelFile >> (tacNothing | tacVerifyOnce | tacVerifyTwice) >> tacRead Results in 63 generated test cases Visualization of a tactic structure Tactic written in JRuby

Page 8Validas AG Founded employees Competences Model-based development (Test-) Specification Test automation Tool qualification AUTOSAR Customers & Partners BMW EADS ESG Giesecke & Devrient Infineon Audi/AEV

Page 9Validas AG FreeRTOS – Interface Testing Interface and robustness testing of off-the-self components Large parameter space Sequences of interface calls Parameter structures Parameter data Crash Return code Nontermination Potential side effects Functional dependencies Hardware configuration (memory size, address layout, …)

Page 10Validas AG FreeRTOS – Test Setup Tactics Oracle model Tactic interpreter Data model XML test cases XML test cases Code generator Compiler Test framework FreeRTOS Compiled test cases Compiled test cases Test control Test Case Generation Test Case Compilation Test Case Execution on SUT (Cortex M3) About 1600 lines of JAVA code About 850 lines of JAVA code 41 tactics 41 API-interfaces tested test cases, test steps Execution time of about 7 hours

Page 11Validas AG FreeRTOS – Test Results Example: pvPortMalloc ( ) –Expected result: NULL-Pointer –Observed result: Valid memory address –Reason: Integer overflow (2 32 – 5) + 16 = Header of linked list block for heap management

Page 12Validas AG Smart Card – Command Testing Exhaustive testing of CREATE_FILE and its parameters to create elementary files on a smart card Complex parameters Functional dependencies High variability of parameter structures Configuration of the smart card (max. file size, reserved IDs, …) CreateEF Command sequences Parameter structures Parameter data Crash Statusword Data

Page 13Validas AG Create File – Test Setup Tactics Oracle model Tactic interpreter Data model Test cases Test results Test executer Report Report generator Smart card About 900 lines of Ruby code (CREATE_EF and 10 supporting commands) EMF-based, generated JAVA code About 1000 test cases Execution time 7:30 minutes Test Case Generation Test Execution on SUT Report Generation 16 tactics

Page 14Validas AG Create File – Data Model Generic and domain- specific data models based on EMF

Page 15Validas AG Create File – Test Execution Tactics to achieve test goals Test reports & analysis support Test execution environment

Page 16Validas AG Lessons Learned Complex data spaces and algorithms Modeling language and tool issues Inclusion of prior knowledge of developers

Page 17Validas AG Summary Tactic-based testing for flexible control of test case generation Precise specification of test cases with varying parameters and structures Applicable to wide range of test objects CreateEF Validas AG Arnulfstraße München Fon +49 (0) Fax +49 (0) Data model Tactic Interpreter & Coverage measurement Tactic Interpreter & Coverage measurement Tactics Test cases Oracle model