Graphische Testfallmodellierung mit UML Expertenwissen in Bildern?

Ähnliche Dokumente
Graphische Testfallbeschreibung mit UML Expertenwissen in Bildern?

ER-Modelle zur klaren Begrifflichkeit bei der Testentwicklung

U2TP UML Testing Profile Specification

Unified Modeling Language 2

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML (Unified Modelling Language) von Christian Bartl

Vorlesung Programmieren

Model Driven Architecture (MDA)

Comelio GmbH - Goethestr Berlin. Kurskatalog

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Multi-Tool Testlandschaft mit DDS

AGEDIS Methode und Werkzeuge. 1. Was ist AGEDIS 2. Die AGEDIS Methode 3. Architektur / Werkzeuge 4. Fazit

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Oracle JDeveloper 10 g

NACHRICHTENTECHNISCHER SYSTEME

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Vortrag von: Ilias Agorakis & Robert Roginer

Rapide An Event-Based Architecture Definition Language

Requirements Engineering I

Die Unified Modeling Language UML

Notationen zur Prozessmodellierung

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Testautomatisierung für das Internet der Dinge

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Testen von SOA-Anwendungen mit dem BPEL Testframework

INSPIRE - Modellierung

modellzentrierter Test

SL PROVISOR Automation in der Qualitätssicherung sinnvoll erhöhen

Unified Modelling Language

Techniken der Projektentwicklungen

MDRE die nächste Generation des Requirements Engineerings

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

Validierung von System- Architekturen

Requirements Engineering I

Programmiertechnik II

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

Model Driven Development im Überblick

Webbasiert und kollaborativ: ein Requirements Editor auf Basis von ReqIF

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

SysML Die Zukunft des Systems Engineering?

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Regelbasierte Entwicklung betrieblicher Informationssysteme

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Testen mit dem UML Testing Profile

Templatebasierter CDA-Generator mit ART-DECOR. Vortrag im Rahmen der HL7 Austria Jahrestagung 2017, Wien Dipl.-Inform. Med.

P23R4FLEX Das P23R-Prinzip in der Umweltdatenberichterstattung. Ulrike Schüler Forum Prozessketten, Mannheim, 16. Mai 2013

Untersuchung der Sprachkonformität und Vollständigkeit von UML 2.0 Werkzeugen

Service Virtualisierung

Inhaltsverzeichnis. a. Standorte BPMN...6. b. Impressum i. Business Process Model and Notation mit Altova UModel...

Test-Karussell. Automatisierte Qualitätssicherung im Round-Trip. Test-Karussell. Folie November 2006

transportation SYMTES Testen mit System

Workflow Management: Workflow (1)

Analyse und Modellierung von Informationssystemen

UML 2 glasklar Praxiswissen für die UML-Modellierung

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Diplom Zwischenverteidigung

Jochen Bauer

Poseidon for UML. Einführung. Andreas Blunk

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

Modellgetriebene Service-Entwicklung

Model Driven Architecture Praxisbeispiel

Service Plattform Extrapol

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Konzeptionelle Modellierung von XML-Dokumenttypen

Testframework für Eckelmann SFT

Struktur der UML-Spezifikationen

BPMN. Suzana Milovanovic

Modellbasiertes manuelles Testen: Techniken und Tücken

4. Mentorium. UML-Modellierung (Lösungshinweise)

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Steigerung der Testeffizienz Von modellgetriebener Entwicklung zum modellgetriebenen Testen

Spezifikation von Fachkomponenten mit UML 2.0

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

Entwicklungssysteme für Lernumgebungen am Beispiel des Essener-Lern-Modells

Softwaretest von verteilten Echtzeitsystemen im Automobil anhand von Kundenspezifikationen

Anwendung der IEC 61850

X-Planung im. Amt Kleine Elster (Niederlausitz) Massen im Landkreis Elbe-Elster

Dipl.-Inform. Lars Ebrecht

Java Einführung Objektorientierte Grundkonzepte

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Test-Strategien CANopen

Pragmatische Modellierung von Testfällen für Software im Automobil 1

doit Software-Forschungstag 2006 Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme Martin Rotard

Architektur in der Mechatronik. existierender Testwerkzeuge

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Eclipse Modeling Framework

ehealth Composite Plattform (ehc) FormsFramework Eine Schlüsseltechnologie zur Umsetzung semantischer Interoperabilität

Große Simulink-Modelle mit Bus Objects effizienter gestalten

Gegenüberstellung und Anwendung verschiedener Testverfahren zur Sicherstellung der Interoperabilität von Netzelementen in Next Generation Networks

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML)

Bessere Service-Modellierung durch Kombination von BPMN und SoaML. Nürnberg, 24. Februar 2011

Spezifikationsbasierter Softwaretest

UML. Weiteres Vorgehen im Projekt

CIM Common Information Model

Unit Testing, SUnit & You

Einführung in die objektorientierte Programmierung

Einführung in das Eclipse Modeling Framework. 5. November 2014

Transkript:

Graphische Testfallmodellierung mit UML Expertenwissen in Bildern? Dipl.-Ing. Volker Knollmann Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie

Motivation Verbesserungspotential bei Testfallbeschreibungen Beispiel: Betrieb des Eisenbahnsimulationslabors RailSiTe interne Tests: notwendig bei Updates / Laborvalidierung externe Tests: Überprüfung von Kundengeräten Beispiel: Tests für das European Train Control System (ETCS) Testsequenzbeschreibung als Worddatei veröffentlicht Geschwindigkeitsprofil als Bitmap verfügbar Beispiel: Simulation bahnbetrieblicher Szenarien Betriebsregeln nur in Prosa definiert Validierung neuer Eisenbahnleit- und -sicherungssysteme aufwändig Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 2

Gliederung des Vortrags Anforderungen / Komponenten von Testfallbeschreibungen Das UML 2 Testing Profile (U2TP) Anwendung des U2TP im Rahmen einer Fallstudie Ausblick auf weitere Arbeiten Fazit Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 3

Abgrenzung des Kontextes Hier nur Betrachtung von Black-Box-Tests Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 4

Anforderungen an Testfallbeschreibungen Editierbar, automatisierbar, archivierbar, rückverfolgbar Verwendung von UML (Unified Modeling Language) Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 5

Komponenten einer Testbeschreibung Struktur, Verhalten, Daten und zeitliche Bedingungen Statische Anteile (Struktur): Aufbau und Konfiguration der Testumgebung Verwendete Schnittstellen Dynamische Anteile (Verhalten): Testschritte Sollergebnisse, Reaktion bei Abweichung vom Sollverhalten Ableitung der Testbewertung (bestanden / nicht bestanden) Daten und zeitliche Randbedingungen: Stimuli, Telegramme, Datenpakete Timer, Timeouts Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 6

Das UML 2 Testing Profile (U2TP) OMG -Standard seit Juli 2005 Definiert Symbole, Stereotypen und Tags für Testfallbeschr. Baut auf UML 2 auf Schafft semantische Eindeutigkeit der Beschreibung Deckt die vorgenannten Modellaspekte ab Anwendbar auf allen Testebenen (z. B. Modultest, Systemtest, ) Werkzeug- und plattformneutral Nicht domänenspezifisch Object Management Group Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 7

Komponenten des Moduls Test Architecture Testaufbau als Klassen- und Strukturdiagramm Prüfling ( System under Test, SUT) Testkomponenten: Sind Teil der Testumgebung Interagieren mit dem SUT (Stimuli / Reaktionen) Arbiter: Empfängt und bewertet Rückmeldungen der Testkomponenten Fällt Gesamturteil über Testergebnis Scheduler: Steuerung des zeitlichen Testablaufs Starten / Stoppen einzelner Testkomponenten Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 8

Zusammenspiel der Architektur-Komponenten Der Testkontext integriert Komponenten zum Testaufbau «SUT» System Under Test «Interface» General Arbiter «Interface» General Scheduler * sut «implement» «implement» «TestComponent» Test Component «TestComponent» Test Component n Specific Arbiter Specific Scheduler * component_ * component_n arbiter * scheduler «TestContext» Specific Test Context «TestCase» tc_ () «TestCase» tc_2 () «TestCase» tc_n () Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 9

Daten- und Steuersignalfluss in der Testumgebung Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 0

Beschreibung des Testverhaltens Nutzung von Sequenz-, Aktivitäts- und Zustandsdiagr. Nutzung der gängigen UML-Verhaltensdiagramme Testablauf beispielsweise als Sequenzdiagramm Einführung sogenannter defaults : Definieren Reaktion bei Abweichung vom Sollverhalten Entspricht dem Aufruf einer Fehlerbehandlungsroutine Fehlerbehandlung wird separat modelliert ( Übersichtlichkeit!) Mögliche Reaktionen: Wiederholung, Ignorieren, Abbruch Verhaltensdefinition von Scheduler und Arbiter Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie

Beispiel einer einfachen Arbiter-Implementierung Hier: fällt eine Worst-Case-Entscheidung / setverdict[v == fail]/ Overall result is "pass" setverdict[v == inconc]/ setverdict[v == error]/ Overall result is "fail" Overall result is "inconclusive" setverdict[v == error]/ Overall result is "error" setverdict[v == error]/ setverdict[v == fail]/ Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 2

Beispiel einer Testablaufbeschreibung Austausch synchroner und asynchroner Nachrichten «TestComponent» :Test Component «TestComponent» :Test Component n «SUT» :System Under Test Stimulus Stimulus : <Return Value> Message default HandleResponse Message 2 «validationaction» pass «validationaction» pass Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 3

Gegenstand der Fallstudie System zur Erzeugung von Transpondersignalen Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 4

Gegenstand der Fallstudie Eigenschaften des untersuchten RS232-Protokolls Transportierte Inhalte: Die per Transpondersignal zu übertragenden Daten Zeitprofil für die Datenübertragung Steuerkommandos (Reset, Statusabfragen, etc) Protokoll: Paketorientiertes Protokoll Zweischichtig: Link-Layer- und Applikationsebene Aufgaben des Link-Layers: Verwaltung von Sequenznummern Vollständigkeitsprüfung der Pakete (Längeninformation) Prüfsummenkontrolle Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 5

Vorgehen im Rahmen der Fallstudie Testfallableitung, Testdatenerzeugung, Modellierung Methodische Ableitung von Testfällen mit Klassifikationsbäumen Erzeugung zugehöriger Datenpakete (Testdaten) Modellierung der sog. Datenpools und der Testumgebung in UML (Prüflingsmodell lag bereits in UML vor) Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 6

Testfallableitung mit Klassifikationsbäumen Basiert auf Partitionierung des Zustandsraumes Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 7

Anordnen der Testdaten in einem Datenpool Insgesamt wurden 4 Testfälle erzeugt Smallest Valid Frame haslengthfield hasseqnumber haschksum payloadsize = 0x00 Invalid Checksum haslengthfield hasseqnumber haschksum payloadsize = 0x02 Oversized Length Indicator haslengthfield hasseqnumber haschksum payloadsize = 0x02 data = [00 00 00 0 00 08 00 09] data = [00 00 00 0 00 0A FF... «DataPool» Link Layer Test Frames data = [00 00 00 0 FF FF 42 4... Undersized Length Indicator haslengthfield hasseqnumber haschksum payloadsize = 0x02 data = [00 00 00 0 00 00 42 4... Single Byte payloadsize = 0x00 data = [00] Missing Checksum haslengthfield hasseqnumber payloadsize = 0x02 data = [00 00 00 0 00 08 FF FF] Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 8

Integration aller Komponenten zum Testkontext Hier nur oberste Ebene dargestellt; Details sind hinterlegt Link Layer Test «TestContext» LinkLayer Context «TestCase» shortestvalidframe () : Verdict «TestCase» invalidchecksum () : Verdict «TestCase» missingchecksum () : Verdict «TestCase» oversizedlengthindicator () : Verdict «TestCase» undersizedlengthindicator () : Verdict «TestCase» singlebyte () : Verdict sut pc «SUT» Balise Simulation System «TestComponent» Stimulation PC Data Pools «import» «DataPool» Link Layer Test Frames Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 9

Beispiel einer Testsequenz Wiederverwendung anderer Sequenzen ist möglich «TestComponent» Instance /pc:stimulation PC ref ref short telegram storage long telegram storage «SUT» Instance /sut:balise Simulation System DefAndRunSeq «validationaction» pass Acknowledge( TRANSMISSION OK, 0x0000 ) Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 20

Ergebnisse und Bewertung der Fallstudie Die Vorteile überwiegen Vorteile: Modularer Aufbau, Wiederverwendung von Komponenten Übersichtliche, formale Darstellung; gute Editier- und Wartbarkeit Erfassung des Testaufbaus (wird häufig vergessen) Nahtlose Integration mit Systemmodell möglich Nachteile: Einarbeitung in UML und U2TP erforderlich Viele Diagramme, daher saubere Strukturierung notwendig Für komfortables Arbeiten ist gutes UML-Tool unerlässlich Initial höherer Aufwand als bei traditionellen Methoden Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 2

Ausblick: Übergang zur Testautomatisierung Verschiedene Ansätze sind denkbar Konvertierung UML XMI Testskript: Übersetzung in ein ausführbares Skript (z. B. Python oder Ruby) Ausführen des Skriptes in der Testumgebung Direktes Ausführen von XMI in der Testumgebung: Erstellung eines entsprechenden XMI-Interpreters Positiv: Erstellung eines ausführbaren Skriptes entfällt Konvertierung in alternative Datenformate: Nutzung von XSLT 2 zur Konvertierung in andere XML 3 -Formate Alternativ: Übergang auf TTCN-3 4 Mapping U2TP TTCN-3 existiert bereits XML Metadata Interchange; 2 extensible Stylesheet Language Transformation; 3 extensible Markup Language; 4 Testing and Test Control Notation, Version 3 Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 22

Fazit Expertenwissen in Bildern? U2TP-Darstellung von Testfällen ist übersichtlich, einheitlich, formal Nur für Black-Box-Tests vorgesehen Geeignete Grundlage für Testautomatisierung Aufbau von Bibliotheken möglich Konservierung, nicht Ersatz des Expertenwissens durch Bilder Entlastung des Testern von Routineaufgaben Kein Ersatz für die Kreativität des Testers Graphische Testfallmodellierung mit UML > 25. Oktober 2006 > Folie 23