Sequenzgenerierung aus Klassifikationsbäumen

Ähnliche Dokumente
Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer

Formale Verifikation von Software. 10. Juli 2013

Formale Verifikation von Software. 8. Juli 2015

Klassifikationsbaum- Methode für eingebettete Systeme (CTM/ES) Robert Wolff

LTL und Spin. Stefan Radomski

Strategien zur Testfallgenerierung aus UML-Zustandsautomaten

MODEL CHECKING 3 TEMPORALE LOGIKEN

1. Einführung in Temporallogik CTL

Verifikation und AO Florian Wagner

Verifikation. Simulation und formale Methoden

Bounded Model Checking mit SystemC

4. Alternative Temporallogiken

Logik für Informatiker

"Spezifikationsbasierter Softwaretest" Test mit Matlab/Simulink/Stateflow

An Overview of the Signal Clock Calculus

SPI-Workbench: Modelle und Verfahren zur Synthese und Optimierung von Hardware/Software-Systemen aus SPI-Modellen

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg

Theorem Proving mit Isabelle

Vortrag Diplomarbeit. Testentwurf in komplexen softwareintensiven Systemen mit der Klassifikationsbaummethode. von Rebecca Tiede

Software-Engineering im Sommersemester 2014

Model Checking. Grundlagen und Motivation. Alex Salnikow

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Computergestützte Modellierung und Verifikation

Zeitlogik. Hardware Verifikation. Zeitlogik und Verifikation. Helmut Veith,

Generating Deterministic ω-automata for most LTL formulas by the Breakpoint Construction

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Testing in the Distributed Test Architecture

So testen Sie ein selbstorganisiertes System

Laufzeitverifikation

Konstantenmultiplikation

Dynamische Äquivalenzklassen im Klassifikationsbaum für zustandsbehaftete Systeme

Software Engineering in der Praxis

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick

Scheduling for Time-Triggered Network Communication

ETL-Industrialisierung mit dem OWB Mapping Generator. Irina Gotlibovych Senior System Beraterin

Aussagenlogische Testspezifikation

Verifizierende Testverfahren

MDRE die nächste Generation des Requirements Engineerings

PROSEMINAR: MODELLBASIERTE SOFTWAREENTWICKLUNG FÜR INTELLIGENTE TECHNISCHE SYSTEME

Modellierung verteilter Systeme

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet:

Automatische Generierung optimaler modellbasierter Regressionstests

Qualitätssicherung von Software (SWQS)

Model Checking mit SPIN

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen

Ereignisdiskrete Systeme

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Modul 7: Automatische Validierung von Sicherheitsprotokollen - Einführung Model-Checking. Prof. Dr. Martin Leischner Netzwerksysteme und TK

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Algorithmen und Datenstrukturen (für ET/IT)

Optimierung auf rekonfigurierbaren Rechensystemen

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P)

Modellierung und Validierung von Datenschutzanforderungen in Prozessmodellen

Motivation und Einführung

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Testing Reality. Real users. Real devices. Real time.

Modulare Testfälle spezifizieren zur Automation und manuellen Testdurchführung. Tanja M. Tremmel

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Pfadgenerierung/Polygone/Polygonoffsetting

SongSlope. Supporting Music Association Through Usage Histories. Abschlussvortrag Projektarbeit

So testen Sie mit einem visuellen Vertrag

Verknüpfung von kombinatorischem Plattformund individuellem Produkttest für Software-Produktlinien

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze August 2009

Risikobasiertes statistisches Testen

Data Mining - Wiederholung

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

modellzentrierter Test

Arbeitspaket IV Methoden zur Verifikation von Analog- und Sensorkomponenten

Simulation und Verikation von UML-basierten Stellwerken

Spezifikation von Handlungen von Agenten

Grundlagen des expliziten Model Checkings

Kapitel 2. Temporale Logik. Inhalt. Computergestützte Verifikation Zusammenfassung Kapitel 1. Inhalt. Warum nicht einfach PK 1?

Modellbasiertes Testen auf Basis des fundamentalen Testprozesses

Flexible Personaleinsatzplanung von Krankenhausärzten

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Mathematische Beweise und Symbolische Tests

COPE COuPled Evolution of metamodels and models

Chaos-based Image Encryption

1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen

Beispiel 1 zur Verifikation eines bedingten Anweisung. Hoare-Regel für die bedingte Anweisung. Beispiel 2 zur Verifikation eines bedingten Anweisung

Beispiel 1 zur Verifikation eines bedingten Anweisung. Hoare-Regel für die bedingte Anweisung. else

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Seminar Programmierung Eingebetteter Systeme

Formale Systeme. Prof. P.H. Schmitt. Winter 2007/2008. Fakultät für Informatik Universität Karlsruhe (TH) Voraussetzungen

Automatentheorie und Logik

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II)

Firewall Testing with NAT

Model Driven Architecture

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Wiederholung. Testen. Tests nach Methode zum Ableiten der Testfälle White Box Test Black Box Test

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany

Algorithmen auf Sequenzen Erweiterte Muster

Bachelorarbeit Präsentation Clemens Ornetzeder

Transkript:

Sequenzgenerierung aus Klassifikationsbäumen Peter M. Kruse, 24.01.2011 PMK, 24.01.2011 Inhalt Einleitung Stand von Wissenschaft und Technik Generierung von Testsequenzen mit der Klassifikationsbaum-Methode Abhängigkeitsregeln Generierungsvorschriften Prototyp Zusammenfassung 2 1

Einleitung Klassifikationsbaum-Methode [1], CTE XL [3] Automatische Generierung von Testfallmengen für unterschiedliche Testobjekte Erstellung von Testsequenzen bislang nur manuell Automatische Erzeugung sinnvoller, fehlersensitiver Testsequenzen 3 Stand von Wissenschaft und Technik Testsequenz-Generierung mittels Techniken des Modell-Checkings [4] Gegenbeispiel-Generierung des Modell-Checkers zur Erzeugung relevanter Testsequenzen Temporale Logiken, Linear Temporal Logic (LTL) und Computation Tree Logic (CTL) [5] CCTL Logik zur Verifikation von K.-Baum-Testsequenzen [6] Testsequenzen und Transitionen verifizieren mit Echtzeit-Modell- Checker Generierung von Testsequenzen basierend auf der Beschreibung endlicher Zustandsautomaten (FSM) [10] 4 2

Testsequenz-Generierung mit der K.-Baum-Methode Aktuell: regelbasierte Generierung von Testfallmengen für kombinatorisches Testen mit der Klassifikationsbaum-Methode Klassifikationsbaum d1: high Night d2: Motorcycle OR Truck medium pairwise(proceeding Vehicle,Speed,Daylight); Abhängigkeitsregeln Generierungsvorschrift 5 Testsequenz-Generierung mit der K.-Baum-Methode Aktuell: regelbasierte Generierung von Testfallmengen für kombinatorisches Testen mit der Klassifikationsbaum-Methode d1: high Night d2: Motorcycle OR Truck medium Testfall- Generierung pairwise(proceeding Vehicle,Speed,Daylight); 6 3

Testsequenz-Generierung mit der K.-Baum-Methode Erweiterung: regelbasierte Generierung von Testsequenzmengen für kombinatorisches Testen mit der Klassifikationsbaum-Methode Neue Abhängigkeitsregeln Testsequenz- Generierung Testsequenzen Neue Generierungsvorschrift 7 Abhängigkeitsregeln Allgemein Wenn Klasse ci aus Klassifikation C in Testschritt tndann muss Klasse cj aus Klassifikation C in darauffolgendem Testschritt tn+1 der Testsequenz ausgewählt sein Beispiel Wenn Fahrzeuggeschwindigkeit < 50 km/h in Testschritt tn dann Fahrzeuggeschwindigkeit >= 50 km/h && < 100 km/h in darauffolgendem Testschritt tn+1 8 4

Abhängigkeitsregeln Allgemein Wenn C=ci in tn, dann C=cj in tn+m Wenn C=ci in tn, dann C=cj in allen tn+1 bis tn+m Wenn C=ci in tn, dann C=cj in allen tn+m bis tn+o Zusätzlich Kompositionen mit bekannten logischen Operatoren (AND, OR, NOT, NAND, NOR, XOR,...) Information Existierende Abhängigkeitsregeln bilden eine Untermenge der neuen Abhängigkeitsregeln mit m = 0 für beliebige tn und tn+m 9 Generierungsvorschriften Parameter Gewünschter Abdeckungsgrad (Unter-)Menge aller Kombination von Klassen des K.-Baums Minimale und maximale Anzahl von Testschritten pro Testsequenz Definierte Menge von zugelassenen Klassenkombinationen für den ersten und den letzten Testschritt von Testsequenzen Maximale Anzahl von Testschritt-Wiederholungen (sowohl unmittelbar aufeinander folgende als auch innerhalb der gesamten Testsequenz) Maximale Anzahl von Klassen-Wiederholungen (sowohl unmittelbar aufeinander folgende als auch innerhalb der gesamten Testsequenz) 10 5

Prototyp Blick in die Blackbox Sequenz-Generierung Neue Abhängigkeitsregeln Neue Generierungsvorschrift Zustände ableiten / generieren / bestimmen Menge gültiger Übergänge definieren Menge gültiger Durchläufe definieren Untermenge auswählen Test- Seq. 11 Prototyp: Abhängigkeitsregeln Detailiertere Beschreibung möglich mittels LTL Regeln Ggf. zukünftige Vereinfachung Gelten pro Testsequenz Auch anwendbar auf manuell erstellte Testsequenzen 12 6

Prototyp: Generierungsvorschrift Algorithmus Auswahl / Laufzeit Gewünschter Abdeckungsgrad (Unter-)Menge aller Kombination von Klassen des K.-Baums Minimale und maximale Anzahl von Testschritten pro Testsequenz Definierte Menge von zugelassenen Klassenkombinationen für den ersten und den letzten Testschritt von Testsequenzen 13 Prototyp: Generierungsvorschrift Zusätzlich detailiertere Beschreibung möglich mittels CTL Regeln Gelten für Gesamtheit aller Testsequenzen Bedingt anwendbar auf Menge manuell erstellter Testsequenzen 14 7

Prototyp aktuelle Einschränkungen Folgende Parameter lassen sich nicht / nur eingeschränkt spezifizieren: Maximale Anzahl von Testschritt-Wiederholungen (sowohl unmittelbar aufeinander folgende als auch innerhalb der gesamten Testsequenz) Maximale Anzahl von Klassen-Wiederholungen (sowohl unmittelbar aufeinander folgende als auch innerhalb der gesamten Testsequenz) Gewünschter Abdeckungsgrad Transitionen 15 Zusammenfassung Ansatz für automatische Testsequenz-Generierung aus Klassifikationsbäumen neue Abhängigkeitsregeln Obermenge der bestehenden Abhängigkeitsregeln Erweitert um Ausdrucksmöglichkeiten für Zusammenhänge zwischen mehreren Testschritten neue Generierungsvorschriften Parameter zur Definition des Testumfangs Spezifikation Abdeckungsgraden und Wiederholungen Damit systematische Generierung von Testsequenzen zu Klassifikationsbäumen möglich 16 8

Ausblick Nach Abschluss der prototypischen Implementierung Evaluierung des vorgestellten Ansatzes Skalierbarkeit und Performance Danach reguläre Umsetzung der Testsequenz-Generierung im CTE XL Professional 17 Literatur [1] M. Grochtmann and K. Grimm, Classification trees for partition testing, Softw. Test., Verif. Reliab., vol. 3, no. 2, pp. 63 82, 1993. [3] E. Lehmann and J. Wegener, Test case design by means of the CTE XL, Proceedings of the 8th European International Conference on Software Testing, Analysis and Review (EuroSTAR 2000), Kopenhagen, Denmark, December, 2000. [4] M. P. Heimdahl, S. Rayadurgam, W. Visser, G. Devaraj, and J. Gao, Auto-generating test sequences using model checkers: A case study, in 3rd International Worshop on Formal Approaches to Testing of Software (FATES 2003), 2003. [5] M. Y. Vardi, Branching vs. linear time: Final showdown, in Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, ser. TACAS 2001, 2001, pp. 1 22. [6] A. Krupp and W. Müller, Modelchecking von Klassifikationsbaum-Testsequenzen, 1 Apr. 2005, gi/itg/gmm Workshop "Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen", München. [10] H. Ural, Formal methods for test sequence generation, Comput. Commun., vol. 15, pp. 311 325, June 1992. 18 9