Aussagenlogische Testspezifikation

Ähnliche Dokumente
Spezifikationsmethode zur Generierung von Modellen und Tests. Qualifizierung von Codegeneratoren.

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Qualitätssicherung und Testen in mittelständischen Software-Unternehmen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Semestralklausur zu Modellierung verteilter Systeme

Prädikatenlogik - Micromodels of Software

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Binäre Suchbäume (binary search trees, kurz: bst)

Grundlagen der Theoretischen Informatik - Sommersemester Übungsblatt 1: Lösungsvorschläge

ODM. ww w. syn t egris.de

Analyse von kryptographischen Protokollen mit dem AVISPA-Tool

Softwarequalitätssicherung

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Techniken im Software-Test

1 Transitionssysteme. 1.1 Motivation: Model-Checking

Planen als Model Checking

Drei Methoden, ein Ziel: Testautomatisierung mit BDD, MBT und KDT im Vergleich

Modellbasierte Testgenerierung aus Spezifikationen mit parallelem Verhalten

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Muster für die Verifikation von Formeln in Temporaler Logik

Umfassendes Architekturmodell Durchgängige Modellierung verschiedener Aspekte eines Systems. Alexander Harhurin, Judith Thyssen

Testfallerzeugung aus Use-Case-Beschreibungen

Technische Universität München Fakultät für Informatik

Berechnung von Strukturgleichungsmodellen mit Amos. Im folgenden kurze Einführung: Arbeiten mit Amos Graphics

Beschreibungslogiken. Daniel Schradick

Wissensbasierte Systeme

Grenzwertanalyse. Domain-Testing. Ronny Schwierzinski, Bernd Rabe, Anna Bartwicki

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Übungen zu Modellierung verteilter Systeme

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8

Funktionale Sicherheit ISO Schwerpunkt Requirements Engineering,

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

ISTQB Certified Tester Foundation Level Exam Übungsprüfung

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

ISDN. - Verbindung zur Außenwelt -

Visuelle Sprachen. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Reguläre Sprachen Endliche Automaten

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Systematische Testfallableitung und Tests durchführen

BPMN Kategorien und Elementgruppen. Flussobjekte

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

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

SimPDM Datenmodell im Kontext zu Teamcenter und PLMXML

Laufzeitverifikation

Der Design-Workflow im Software-Entwicklungs-Prozess

Testautomatisierung: Ein akademisches Thema?

Foundations of Systems Development

Logische Programmierung

1.3 Entwicklungsmethoden: Systematischer Überblick

Semantic Web Technologies I!

Unit Testing mit JUnit. Dr. Andreas Schroeder

Prüfung Software Engineering II (IB)

Agilität und systematischer Test

State Event Technik CT2, Donnerstag / TE402 M. Thaler, TG208, tham@zhaw.ch

Theorie der Informatik

Adressauflösung. IP Adresse Physikalische Adresse :FF:AA:36:AB: :48:A4:28:AA:18

Zusammenhänge präzisieren im Modell

Theoretische Grundlagen des Software Engineering

Software Engineering II (IB) Testen von Software / Modultests

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben

Ein Testprozess für Modellbasiertes Testen

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

Motivation. Motivation

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt]

Bioinformatik I (Einführung)

Software-Architektur Actors

ETCS Wie weist man die Einhaltung eines Standards nach? Verkehrskolloquium Michael Meyer zu Hörste, DLR Institut für Verkehrssystemtechnik

Software Engineering II (IB) Serviceorientierte Architektur

Exchange ActiveSync wird von ExRCA getestet. Fehler beim Testen von Exchange ActiveSync.

Architekturbeschreibung im C2-Stil

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Ad-hoc Chatsystem für mobile Netze

Seamless Model-based Engineering of a Reactive System

Requirements Engineering Übung 8 Systemmodellierung im RE

Anforderungsanalyse, Requirements Engineering

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

Software Engineering und Projektmanagement

Grundlagen der Programm- und Systementwicklung

AutoFocus2 Einführung

Datensicherheit. Vorlesung 7: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Testen - Konzepte und Techniken

5 Logische Programmierung

y(p F x) gebunden und in den Formeln F xy

Abbildung 1: Tool-Qualification-Kits für Testwell CTC++ Test Coverage Analyser

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Erfüllbarkeit und Allgemeingültigkeit

Transkript:

Seminar Spezifikationsbasierter Softwaretest Aussagenlogische Testspezifikation Peer Hausding (10.06.2006) 1

Gliederung Einführung Begriffe Test Modellspezifikation AutoFocus Transformation Spezifikation Testziel Zusammenfassung Quellen 2

. Einführung 3

Einführung Begriffe Aussagenlogik logische Bewertung von Aussagen Aussagen bestehen aus mit Junktoren verknüpfte Atome (Elementaraussagen) Prädikatenlogik eine Erweiterung der Aussagenlogik Untersuchen der inneren Struktur von Atomen 4

Einführung Test Test Spezifikation Testziel Prüfer Testfall 5

Einführung Test Spezifikation Testziel Modell (AutoFocus) Prädikate Aussagenlogische Formel Aussagenlogische Formel Prüfer (SATO) Testfall 6

Einführung Test Bounded Model Checking vollautomatische Verifikationstechnik nicht alle erreichbaren Zustände werden überprüft bestimmte Eigenschaft kann widerlegt werden, aber nicht verifiziert Test anhand aussagenlogischer Spezifikation kann als nur testen, ob ein Aussage NICHT gilt, aber nicht die Allgemeingültigkeit überprüfen 7

Modellspezifikation 8

Modellspezifikation AutoFocus AutoFocus entwickelt am Lehrstuhl von Prof. Dr. Broy (Fakultät für Informatik der TU München) graphische Spezifikationssprache für eingebettete Systeme Anbindung von QUEST möglich QUEST ermöglicht die Validierung & Verifizierung von Modellen in AutoFocus zusätzliche Anbindungen möglich: SATO, SMV (Symbolic Model Verifier), CTE (Classification-Tree Editor),... 9

Modellspezifikation AutoFocus Systemstrukturdiagramm Netzwerk von Komponenten eines Systems Dekompositionen (Subsysteme) möglich Kanäle als Verbindung/Übetragungsmedium Ports (ein- oder ausgehend) Beispiel Geldautomat: local Card Current=Invalid, local Int CurrentPIN=0 10

Modellspezifikation AutoFocus Zustandsübergangsdiagramm Verhalten der einzelnen Komponenten Zustände, Transitionen, Variablen Precondition : Inputvariablen : Outputvariablen : Postcondition <pre>:<v_i>?<input>:<v_o>!<output>:<post> Beispiel Geldautomat: 11

Modellspezifikation AutoFocus Datentypendefinition Notation ist an Gofer (funktionale Programmiersprache) angelehnt Beispiel Geldautomat: Card Input = Invalid Valid(getPIN:Int, Acc:Int) = Slot(Card) FunKey(Action) PIN(Int) Output = enterpin entercard enteraction timeouterror(card) byebye(money:int, Card) ViewBal(Card) errorwrongpin 12

Modellspezifikation AutoFocus Message Sequence Chart (MSC) Standard der ITU textuell und graphisch (MSC/PR, MSC/GR) I/O Kommunikation zwischen Objekten in Abhängigkeit zur Modellzeit Senden <v_i>?msg(<param>) Empfangen <v_o>!msg(<param>) Variablenwert ändern <v>.msg(<param>) für Testziel/Testfall 13

Modellspezifikation AutoFocus MSC Beispiel Geldautomat: 14

Transformation 15

Transformation Aufstellen aussagenlogischer Formeln Formalismus zur Bescheibung von Systemmodellen Transformation des Systemmodells in eine Kripke Struktur Testen mit SATO Implementation des Davis-Putnam-Verfahren (auf Unerfüllbarkeit testen) Eingabe der Spezifikation und des Testziels als aussagenlogische Formel in KNF 16

Transformation Spezifikation Kripke Struktur Kripke-Struktur M über AP ist ein Tupel M = (S, S 0, R, L) mit: S ist eine endliche Menge von Zuständen S 0 S ist die Menge der Anfangszustände R S S ist eine totale Transitionsrelation L:S 2 AP ist eine Beschriftungsfunktion, die jeden Zustand auf eine Menge von atomaren Aussagen (AP) abbildet Ein Pfad ist ein endliche Sequenz von Zuständen: :s 1 s 2... mit s i Sund i N 17

Transformation Spezifikation Zustände ( S ) Kreuzprodukt der möglichen Zustände und aller Kanal- und Variablenbelegung Beispiel Geldautomat: System = Till.... Channels Till = Till.ControlState Till.Current. Till.CurrentPIN Channels = user reaction... Till.CurrentPIN = B B B B B... B = {0,1} 18

Transformation Spezifikation Projektionsoperator bitweises Abbilden der Werte der Variablen, Kanäle und aktuellen Zustände Beispiel Geldautomat: Till.CurrentPin0 s 0 Till.CurrentPin1 s 0... 19

Transformation Spezifikation Ausgangszustände ( I(s) ) Beschreiben der Startzustände, Werte der Variablen und der Kanäle Beispiel Geldautomat: I System s = Till.CurrentState0 s 0 Till.State1 s 0 Till.Current0 s 0... Till.Current4 s 0 Till.CurrentPIN0 s 0... Till.CurrentPIN3 s 0... 20

Transformation Spezifikation Transitionsrelation ( T(s,s') ) Konjunktion der Transitionsrelationen der Systemkomponenten Beschreiben jeder Transition t aus einem Zustand s in einen Zustand s' einer Komponente C: T C,t s,s' Beispiel Geldautomat: T Till,CardIn s,s' = Till.CotrolState s Ready B Till.user s Val B...... X B bitweise Variablenvorbelegung 21

Transformation Testziel Testziel Kodierung eines Prädikates Φ i bestimmtes Testziel für ein Verbinden mit der aussagenlogischen Formel Ψ der Spezifikation das Ergebnis wird dann z.b. in AutoFocus als MSC ausgegeben 22

Zusammenfassung 23

Zusammenfassung Aussagenlogische Testspezifikation Bilden von aussagenlogischen Formeln aus einer Spezifikation (z. B. AutoFocus) Formulieren von Testzielen als Prädikate Lösen der Formel in KNF mit einer Implementation des Davis-Putnam-Verfahren Analyse des Testfalls anhand des I/O traces (z. B. MSC) 24

Quellen G. Wimmel, H. Lötzbeyer, A. Pretschner, and O. Slotosch: Specification Based Test Sequence Generation with Propositional Logic. Special Issue on Specification Based Testing, Journal on Software Testing, Validation, and Reliability (STVR) 10(4):229-248, December 2000 Hantao Zhang. http://www.cs.uiowa.edu/~hzhang/sato.html Validas. Erfahrungsbericht Verifikationstechniken. http://www.software-kompetenz.de/servlet/is/29286/ Verifikationstechniken_2005.pdf?command=download Content&filename=Verifikationstechniken_2005.pdf 25

Quellen Heike Lötzbeyer. Techniken im Software-Test. http://www4.informatik.tu-muenchen.de/~pretschn/ teaching/perlen-folien/testen04072000.pdf Wikimedia Foundation Inc. http://www.wikipedia.com 26