Qualitätssicherung von Software (SWQS)

Similar documents
Qualitätssicherung von Software (SWQS)

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Practical Model-based Testing With Papyrus and RT-Tester

Software Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin

Towards flexible and efficient model-based testing, utilizing domain-specific modelling

Deriving Input Partitions from UML Models for Automatic Test Generation

Model-based testing in the automotive industry challenges and solutions

Variants and Traceability as the Challenge

Applying Data Refinement for Monadic Programs to Hopcroft s Algorithm

TDDD04: Integration and System level testing. Lena Buffoni

Coverage Criteria for Model-Based Testing using Property Patterns

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

First Steps Towards Conceptual Schema Testing

A novel approach to automatic model-based test case generation

SE 1: Software Requirements Specification and Analysis

Ingegneria del Software Corso di Laurea in Informatica per il Management

Part I: Preliminaries 24

Update on AADL Requirements Annex

10.1 Big Objects, Business Objects, and UML Components

Why should we think about multiple tools? Requirements or how to choose the right tool?

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Test Design Techniques ISTQB (International Software Testing Qualifications Board)

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

F. Tip and M. Weintraub FUNCTIONAL TESTING

Testing, Debugging, Program Verification

Test Case Reduction Case Study for White Box Testing and Black Box Testing using Data Mining

Dynamic Modeling - Finite State Machines

Software Design. Levels in Design Process. Design Methodologies. Levels..

Cause-Effect Graphs fortest Models Based on UML and OCL. Stephan Weißleder, Dehla Sokenou

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

SECURITY TESTING USING MODELS AND TEST PATTERNS. Presented by [Bruno Legeard, Elizabeta Fourneret]

CS560: Formal Modelling and Implementation of Systems (Term II) Lecture: CASE A. O Riordan, 2009.

Coverage at the Formal Specification Level

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0

Automated Test Design with TTCN-3

Automated Quality Assurance foruml Models

L04. Model-based Testing: Principles Henry Muccini. Dipartimento di Informatica, Universityof L Aquila

Software Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks

SUMMARY: MODEL DRIVEN SECURITY

Transforming UML Collaborating Statecharts for Verification and Simulation

Executing SyncCharts with Ptolemy

ISO Compliant Automatic Requirements-Based Testing for TargetLink

SIMULATING SDL USING SITE

Introduction to Software Testing Chapter 4 Input Space Partition Testing

Test Automation. 20 December 2017

MONIKA HEINER.

Compositional Model Based Software Development

A Refinement Framework for Monadic Programs in Isabelle/HOL

SECURITY TESTING USING MODELS AND TEST PATTERNS. Presented by [Bruno Legeard, Elizabeta Fourneret]

On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR

Test Case Extraction and Test Data Generation from Design Models

Mastering Test Generation from Smart Card Software Formal Models

Automated Requirements-Based Testing

Quality Assurance in Software Development

Programming Embedded Systems

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process

GENERATING COST-EFFECTIVE CRITERIA-BASED TESTS FROM BEHAVIORAL MODELS

Model-Based Testing of Safety-Critical Avionics Systems

UML 2.5: Specification Simplification

Combined Modeling and Programming with State Machines

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Handling Integer Arithmetic in the Verification of Java Programs

A Case Study of Model-Based Testing

Model-based Testing in Practice

V&V: Model-based testing

Chianti: A Tool for Change Impact Analysis of Java Programs

Potential Errors and Test Assessment in Software Product Line Engineering

Glass Box Testing for Test Suite- Optimization

ISO compliant verification of functional requirements in the model-based software development process

DO WE NEED TEST SPECIFICATION LANGUAGES?!

Introducing MBT to Standardization. ETSI All rights reserved

Top Down Design vs. Modularization

Lecture 6: Requirements Engineering

Model Transformation Impact on Test Artifacts: An Empirical Study

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

Meltem Özturan

Programmazione. Prof. Marco Bertini

Applications of Program analysis in Model-Based Design

Lecture 16: Hierarchical State Machines II

T : Protocol Design

Testen zur Absicherung automatisierter Transformationsschritte im Model-Based Design

Quality of Test Specification by Application of Patterns

UML for Real-Time Overview

Lecture 15: Hierarchical State Machines I

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Testing & Symbolic Execution

Static program checking and verification

Enterprise Architect Training Courses

with openarchitectureware

2.4 Graph Grammars Part 2

Testing Against Requirements Using UML Environment Models

Testing: Test design and testing process

Chapter 3 System Models

3. Finding Components in Component Repositories

3. Finding Components in Component Repositories Component Search. Obligatory Literature. References

Using UML Environment Models for Test Case Generation

Software Applications What Are they? enterprise software accounting software office suites graphics software media players Databases Graphical user

Transcription:

Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 15.7.2014: Modellbasierter Test (Jaroslav Svacina)

Specification-based Testing Constructing the test suite from the specification as opposed to constructing it from the implementation (= code-based testing) specified behaviour implemented behaviour tested behaviour code-based testing cannot detect missing requirements specification-based testing cannot detect additional (unspecified) features H. Schlingloff, Software-Qualitätssicherung Folie 3

Folie 4 Model-based Testing SUT is compared to a formal model (requirements) Automation of test case design Early validation of requirements Traceability Easy maintenance of test suites for regression testing

Model-based Design and Model-based Testing Requirements System Spec Test Spec System Model Test Model System Impl. Test Cases Often: same syntax, different pragmatics e.g. test cases can be formulated in Java e.g. system spec can be formulated with LTL H. Schlingloff, Software-Qualitätssicherung Folie 5

Folie 6 System models vs. Test models Models can help in the development of complex systems The more concrete the formalism, the closer it is to an implementation executable code may be generated from state diagrams We might add additional information such as timing, communication, variables and such. Test model as opposed to implementation model describes properties of the targeted system not aiming at a complete description of the system not aiming at the generation of executable code

Folie 7 Model-based Testing

Folie 8 Model-based Testing

Folie 9 Modelling Describe system requirements for test generation High abstraction level

Modelling Notations Pre/Post (state based) notations State variables, operations (pre-/postcondition) B, SpecExplorer (c#), UML OCL Transition based notations Focus on describing the transitions between states of the system UML State Machines, Simulink State Flow H. Schlingloff, Software-Qualitätssicherung Folie 11

Example: A Kitchen Toaster A toaster what is the technical process? what are the states, events and signals of the (technical) process? what are the boundaries of the system? which information processing is to be done? what are the interfaces between technical system and information processing component? H. Schlingloff, Software-Qualitätssicherung Folie 12

Folie 13 Modeling the Toaster User Interfaces: turning knob, side lever, stop button Internals: heating element, retainer latch Extra: defrost button First approach: timing is neglected (timer event) Advanced approach: timing depends on various parameters

Folie 14 Toaster Simple State Machine

Folie 15 Toaster Hierarchical Design

Folie 16 Toaster with Variables

Folie 17 Test Generation

Test Generation Algorithm Graph traversal yields abstract test cases - Dijkstra shortest path algorithm - Depth-first and breadth-first search Evolutionary algorithm Model Transformation Static analysis for input parameters Partition Testing Classification tree method Boundary value analysis H. Schlingloff, Software-Qualitätssicherung Folie 18

Folie 19 All-States with Dijkstra and DFS

Folie 20 Evolutionary Test Generation

Folie 22 Test Selection

Folie 23 Test Generation from State Machines Define a test case to be any execution path How to generate such paths? How many paths to generate? When to stop testing? Coverage criteria e.g. all-states all-transitions all-transition-pairs all-n-paths Test goal: one particular item to be covered

Folie 25 Tests for State Machines For a state machine, a test case is just a finite sequence of external triggers and actions A test goal is a particular entity of the state machine (region, pseudostate, transition, n-path, ; for each test and goal it is defined whether the test reaches this goal The coverage of a test suite is the percentage of reached test goals the coverage can either be measured during the execution of a test suite, or statically before execution

Folie 26 Coverage for State Machines common coverage criteria for UML state machines all-states all-transitions all configurations: all combinations of parallel substates n-transition-coverage means all reachable transition sequences of length n are covered (esp.: pairs) All-loop-free-paths All-n-loop-paths decision coverage, condition coverage, MC/DC,... all-requirements

Folie 27 Szenarien als Testselektionskriterium Schwierige, nicht ausreichende Möglichkeiten zur Beschreibung der Testselektionskriterien Einflussnahme der Domänenexperten auf den Testselektionsprozess

Folie 28 Szenarien als Testselektionskriterium

Folie 29 Automated Test Generation Tools More than a dozen commercial and experimental research tools available Usually quite costly (>10K per license) Mostly from UML State Machines Comparison e.g. by mutation analysis

Folie 30 Conformiq

Folie 31 ParTeG Partition Test Generator Since we didn t like the pricing, and wanted to experiment with different technologies, a Ph.D. student built his own http://parteg.sourceforge.net/ UML class & state transition diagrams, connected by OCL Plugin for Eclipse, supports XMI import / export