U2TP UML Testing Profile Specification



Ähnliche Dokumente
ER-Modelle zur klaren Begrifflichkeit bei der Testentwicklung

Modellbasiertes Testen mit UTP

Graphische Testfallmodellierung mit UML Expertenwissen in Bildern?

NACHRICHTENTECHNISCHER SYSTEME

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

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Programmiertechnik II

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Objektorientierte Programmierung III

Software- und Systementwicklung

Requirements Engineering I

Die abstrakte Syntax der Unified Modeling Language

UML (Unified Modelling Language) von Christian Bartl

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

Requirements Engineering I

Objektorientierte Analyse (OOA) Inhaltsübersicht

Unified Modeling Language (UML )

Java Einführung Objektorientierte Grundkonzepte

Testen mit dem UML Testing Profile

Übungen Softwaretechnik I

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Interaktionsdiagramme in UML

Requirements Engineering I

Unified Modelling Language

Theorie zu Übung 8 Implementierung in Java

Analyse und Design mituml2

Methode zur Entwicklung sicherheitskritischer eingebetteter Systeme mittels deterministischer UML-Modelle

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

1 Klassen und Objekte

UML. Weiteres Vorgehen im Projekt

Übungsaufgaben UML Zertifizierung Fundamental-Level

Konzept und Umsetzung

Von UML 1.x nach UML 2.0

Die Unified Modeling Language UML

Testen mit JUnit. Motivation

Analyse und Design mit U ML 2.3

Analyse und Design mituml2.1

Softwaretechnik 2015/2016

Einführung in die Objektorientierung (OO)

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Unified Modeling Language

Java, OO und UML Fortsetzung

Unified Modeling Language 2

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

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

Einführung: Verteilte Systeme - Remote Method Invocation -

Qualitätssicherung in der Softwareentwicklung

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Objektorientierte Programmierung (OOP)

Neues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS,

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Einführung in die Programmierung

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

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Ein einfaches Adventure-Game für die Stufe EF, entwickelt von U. Helmich, inspiriert durch viele bekannte Spiele.

4. AuD Tafelübung T-C3

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Model Driven Architecture

Notationen zur Prozessmodellierung

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Inhaltsverzeichnis. Zusammenfassung CORBA

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Polymorphie und UML Klassendiagramme

Steigerung der Testeffizienz Von modellgetriebener Entwicklung zum modellgetriebenen Testen

transportation SYMTES Testen mit System

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

Analyse und Entwurf von Softwaresystemen mit der UML

Visual Studio 2010 Neues für Architekten

UML 2 glasklar Praxiswissen für die UML-Modellierung

Präsentation Interfaces

Eclipse Modeling Framework

Testframework für Eckelmann CNC

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Modellierung von Variabilität mit UML Use Cases

Einführung in die Programmierung für NF

MDA-Praktikum, Einführung

Vorlesung Programmieren

Spezifikationsmethode zur Generierung von Modellen und Tests. Qualifizierung von Codegeneratoren.

Transkript:

U2TP UML Testing Profile Specification

UML Unified Modeling Language UML- Unified Modelling Language der OMG- Object Management Group Familie graphischer Modellierungssprachen für komplexe, objektorientierte Systeme Über ein gemeinsames Metamodell verbunden Entwicklung von U2TP 2001 angestoßen durch RFP (Request for Proposal) Apr. 2003 Annahme der finalen U2TP- Spezifikation des U2TP Konsortiums Aktuell Klärung offener Prunkte und Probleme P A G E 2

Testen mit U2TP Was ist Testen? - Testen ist der Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. G.J. Myers 1979 - Die stichprobenhafte Überprüfung, dass ein System die spezifizierten Anforderungen erfüllt. Ziele Wozu Testen wir?: um Fehler zu finden und ein System zu erhalten, dass so fehlerfrei wie nötig ist um die Entwickler zu informieren, wie sie Fehler vermeiden können P A G E 3

Beschreibung U2TP I Testmodellierungssprache für das Entwerfen, Visualisieren, Spezifizieren, Analysieren, Konstruieren und Dokumentieren der Artefakte von Testsystemen P A G E 4

Beschreibung U2TP II Die UML Testing Profile ist in 4 Konzeptgruppen aufgeteilt: 3. Test Architektur (Test Architecture) 4. Testdaten (Test data) 5. Testverhalten (Test behaviour) 6. Testzeit (Test time) Da U2TP als UML- Profil definiert ist, ist es in UML integriert U2TP basiert auf dem UML2.0- Metamodell U2TP verwendet die UML2.0- Syntax wieder P A G E 5

Die U2TP-Konzepte sind strukturiert in Testarchitektur Definiert die Konzepte bezogen auf Teststruktur- und Testkonfiguration Testverhalten Adressieren die Konzepte für die dynamischen Aspekte der Testverfahren und definieren Stimuli, Beobachtungen und Aktivitäten während eines Tests Testdaten Definieren die Konzepte für die Testdaten, die während der Testprozeduren genutzt werden Testzeit Zur Definition von zeit- quantifizierten Testprozeduren, also für Zeitbeschränkungen und Zeitanalysen während der Testausführung P A G E 6

Testarchitektur Mit den Testarchitekturkonzepten werden die strukturellen Aspekte einer Test Suite festgelegt: Test Context Test Component Test Configuration SUT Arbiter Scheduler Utility Part P A G E 7

Test Context ist ein strukturierter Classifier, der 1) eine gruppierende Funktion für eine Menge von Testfällen (Test Case) darstellt und 2) eine TestConfiguration besitzt, auf dessen Grundlage die TestCases ausgeführt werden. Attribute: Arbiter: realisiert die Arbiter- Schnittstelle Scheduler: realisiert die Scheduler- Schnittstelle Constraints: Test Context muss genau ein Property enthalten, um die Arbiter- Schnittstelle und die Scheduler- Schnittstelle zu realisieren. P A G E 8

Test Configuration Objekte der Testkomponenten-Klassen bilden zusammen mit den SUT- Objekten Testkonfigurationen. Verbindungen zwischen den Schnittstellen der Testkomponenten und der SUT ermöglichen die Interaktion zwischen Testsystem und zu testendem System. P A G E 9

Test Configuration P A G E 10

Test Component Eine Testkomponente ist ein strukturierter Classifier und stellt eine Klasse von Testsystemen dar. Objekte des Testsystems werden über Testkomponenten-Klassen mit ihren Schnittstellen, Attributen und Operationen definiert. Attribute: zone: Timezone [0..1] Spezifiziert die Zeitzone, zu der eine Testkomponente gehört P A G E 11

SUT System Under Test System Under Test: das zu testende System Mit dem Stereotyp SUT werden ein oder mehrere Objekte als Bestandteil des zu testenden Systems und als wichtig für eine Testkonfiguration angesehen. In Abhängigkeit der Ebene beim Testen kann der SUT eine Systemkomponente, eine Menge von Systemkomponenten, ein Subsystem, ein System oder eine Komposition von Systemen. P A G E 12

Arbiter Vordefinierte Schnittstelle Definiert Operationen für die Arbitrage von Tests Zur Auswertung der individuellen Testergebnisse jeder Testkomponente wird der Arbiter genutzt. in U2TP aus technischen Gründen als vordefinierte Schnittstelle realisiert Berechnet aus Einzelergebnissen das Gesamtergebnis für einen Testfall Arbiter definiert für die Auswertung zwei Operationen: getverdict(): Verdict gibt den aktuellen Verdict aus setverdict (v: Verdict) setzt einen neuen Verdict- Wert P A G E 13

Scheduler Vordefinierte Schnittstelle definiert Operationen, um die Tests und die Testkomponenten zu kontrollieren. Der Scheduler ist eine Menge von TestContexts, um die Ausführung von verschiedenen Testkomponenten zu kontrollieren. Operationen: Scheduler(): Konstruktor des Schedulers. Es startet den SUT und den Arbiter starttestcase(): Der Scheduler wird den TestCase starten, in dem alle involvierten TestComponents benachrichtigt werden finishtestcase (t:testcomponent): Nimmt auf, dass die Testkomponente t die Ausführung von diesem Testfall beendet hat createtestcomponent (t:testcomponent): Nimmt auf, dass die Testkomponente t von vielen anderen Testkomponenten erzeugt wurde P A G E 14

Test Behavior I Test Control Spezifikation für den Aufruf von Testfällen innerhalb eines Test Context technische Spezifikation, wie der SUT mit dem gegebenen TestContext getestet werden sollte Test Case Ein TestCase enthält die Rahmenbedingungen, die zur Überprüfung eines Testlaufs benötigt werden. Zu den Rahmenbedingungen gehören: Die für die Ausführung notwendigen Vorbedingungen Die Menge der Eingabewerte Die Menge der erwarteten Sollwerte Die Prüfanweisung Die erwarteten Nachbedingungen P A G E 15

Test Behavior II Stimulus Testdaten, die an einen Testfall (SUT) gesendet werden Observation Reaktion des SUT, wenn der TestCase ausgeführt wird Coordination Coordination regelt die Ordnung der Testausführung und der Einsammlung von Urteilen, z.b. in einem verteilten System Default Voreinstellungen (Werte), die für den Test eigentlich nicht relevant sind P A G E 16

Test Behavior III Verdict Ermöglicht die Bewertung der Korrektheit eines SUT Vordefinierter Aufzählungs-Datentyp, der die Verdict- Werte pass, fail, inconclusive und error beinhaltet und andeutet, wie diese TestCase- Ausführung ausgeführt wird Pass: TestCase war erfolgreich und SUT reagierte wie erwartet Fail: SUT verhielt sich nicht gemäß der Spezifikation Inconclusive: Testausführung kann nicht bestimmen, ob sich der SUT gut oder nicht gut verhalten hat Error: Testsystem selber ist fehlgeschlagen und nicht der SUT P A G E 17

Test Behavior IV Validation Action Konkrete Auswertung eines TestCases der ausgeführt wird. Validierungsaktionen werden von einer Testkomponente ausgeführt, um an den Arbiter lokale Testdaten zu übertragen. Log- Aktionen Aktion eines TestCases zur Protokollierung zu veranlassen. Log- Aktionen zur Ablage von zusätzlichen Informationen über die Testausführung, die gegebenenfalls für eine spätere Analyse genutzt werden sollen. P A G E 18

Test Behavior V Test Log Ein TestLog repräsentiert das Verhalten, dass sich durch die Ausführung eines TestCase oder TestContext ergibt. TestlogApplication Eine Abhängigkeit zu einem TestCase oder TestContext. P A G E 19

Test Data Wildcard Erlauben dem Benutzer das explizite Spezifizieren, ob ein Wert vorhanden ist oder nicht. Spezielle Symbole, um Werte und Wertabgrenzungen herzustellen Es existieren drei Wildcards: Ein Wildcard für irgendeinen Wert Ein Wildcard für irgendeinen oder überhaupt keinen Wert Ein Wildcard für einen weggelassenen Wert DataPool Ein Datenpool ist eine Sammlung von Datenteilen oder expliziten Werten, die für einen TestContext oder Testcomponent während der Ausführung von TestContext und TestCases benutzt werden. P A G E 20

Time Concepts I Timezone Gruppierender Mechanismus für TestComponents Jede TestComponent gehört zu einer bestimmten Zeitzone TestComponents in der selben Zeitzone haben dieselbe Zeit Timer Mechanismus, der ein Timeout generieren kann, wenn ein bestimmter Zeitwert auftritt Timers gehören zu TestComponents GetTimeAction Aktion zur dynamischen Abfrage der aktuellen Timezone von einer Testkomponente GetTimzeone- Aktion kann zur Laufzeit von einer Testkomponente aufgerufen werden, um die aktuelle Timezone abzufragen. P A G E 21

Time Concepts II SetTimezone Aktion zum dynamischen Setzen der Timezone von einer Testkomponente SetTimezone- Aktion kann zur Laufzeit von einer Testkomponente aufgerufen werden, um die aktuelle Timezone zu setzen Duration Vordefinierter primitiver Typ zur Spezifikation der Bearbeitungsdauer Time Vordefinierter primitiver Datentyp zur Spezifikation konkreter Time- Werte Time- Werte werden benutzt, um Time- Bedingungen auszudrücken und Timers zu setzen P A G E 22

Time Concepts III TimeOut TimeOut wird durch einen ablaufenden Timer generiert TimeOutMEssage TimeOutMessage wird von einem ablaufenden Timer generiert. TimeOutMessage wird zur aktiven Klasse gesendet, die den Timer beinhaltet TimeOutAction TimeOut wird durch einen ablaufenden Timer aktiviert Eine Aktivität, die die TimeOutAction als eine Input- Bedingung beinhaltet, tritt auf, wenn das TimeOut abgelaufen ist P A G E 23

Time Concepts IV StartTimerAction Aktion, die zum Starten eines Timers gebraucht wird StartTimerAction auf einem laufenden Timer startet den Timer neu StopTimerAction Aktion, die den Timer stoppt StopTimerAction auf einem nicht laufenden Timer hat keinen Effekt ReadTimerAction Aktion zum Lesen einer Timers, um die Ablaufszeit des Timers einzuholen P A G E 24

Time Concepts V TimerRunningAction Aktion, die prüft, ob ein Timer aktuell läuft oder nicht Aktion liefert einen booleschen Wert Behavior Repräsentiert das dynamische Verhalten von einem TestContext, TestCase oder TestComponent in einem zu testenden System P A G E 25

Beispiel: Tempomat mit Abstandregelung _ regelt Fahrzeuggeschwindigkeit abhängig von Sollgeschwindigkeit und evtl. vorausfahrenden Fahrzeugen _ Einhaltung eines vorgegeben sicheren Abstandes oder vorgegebener Geschwindigkeit _ Subsystem Pedalinterpretation interpretiert die Pedalwege von Fahrpedal und Bremspedal P A G E 26

Elements of the system to be tested P A G E 27

The PedalInterpretation Test package P A G E 28

Erkennung der Bremspedalbetätigung Phi_Brake Bremspedalweg Phi_Acc Fahrpedalweg BrakePedal Bremspedalflag AccPedal Fahrpedalflag P A G E 29

Erkennung der Fahrpedalbetätigung Phi_Brake Bremspedalweg Phi_Acc Fahrpedalweg BrakePedal Bremspedalflag AccPedal Fahrpedalflag P A G E 30

Bremspedalhysterese Phi_Brake Bremspedalweg Phi_Acc Fahrpedalweg BrakePedal Bremspedalflag AccPedal Fahrpedalflag P A G E 31

Fahrpedalhysterese Phi_Brake Bremspedalweg Phi_Acc Fahrpedalweg BrakePedal Bremspedalflag AccPedal Fahrpedalflag P A G E 32

Vielen Dank für Eure Aufmerksamkeit P A G E 33