Dynamische Äquivalenzklassen im Klassifikationsbaum für zustandsbehaftete Systeme

Ähnliche Dokumente
Erfolgreicher entwickeln durch systematisches Testen

State-of-the-Art in Software Product Line Testing and Lessons learned

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

Ausarbeitung. Die Klassifikationsbaum-Methode. im Rahmen des Seminars Spezifikationsbasierter Software-Test

Testen - Konzepte und Techniken

Systematischer Test des kontinuierlichen Verhaltens automobiler Software Systeme

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim

"Spezifikationsbasierter Softwaretest" Test mit Matlab/Simulink/Stateflow

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

Software-Test: Funktionstest

2 Funktionsorientierter Test

Dr. Klaus Lamberg, Michael Beine

modellzentrierter Test

Webanwendungen erfolgreich Testen

Software Engineering II (IB) Testen von Software / Modultests

Einsatz automatischer Testdatengenerierung im modellbasierten Test

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

Notationen zur Prozessmodellierung

Softwaretest in Praxis und Forschung

Innovation in der Raubtierdressur Neue Wege in der Risikominierung Wolfgang Platz, Founder & CPO

Skript 7 Kreuztabellen und benutzerdefinierte Tabellen

Softwarequalitätssicherung

ASIL-relevante SW-Module identifiziert! Was nun?

Alexander Piehl Grundseminar WS14/15

Grundlegende Eigenschaften von Punktschätzern

Risikobasiertes statistisches Testen

Modellbasierte Testgenerierung aus Spezifikationen mit parallelem Verhalten

Test graphischer Benutzeroberflächen mit der Klassifikationsbaum-Methode

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Testfallgenerierung aus Statecharts und Interaktionsdiagrammen

Electronic Design Automation (EDA) Register-Transfer-Synthese

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

Testphase. Das Testen

C1: Tabellenkalkulation Daten und Relationen (14)

Qualitätsmanagement. Grundlagen

Funktionale Testverfahren. Black Box-Tests. Unsystematisches Testen. Unsystematisches Testen (2) Überblick:

Objektorientierte Modellierung (1)

Ein Testprozess für Modellbasiertes Testen

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

Programmiertechnik II

Kapitel 5 Zustand eines Objekts

Werkzeugunterstützte Verknüpfung von Anforderungen und Tests Voraussetzung für eine systematische Qualitätssicherung

Validierung und Verifikation

Testen Prinzipien und Methoden

Testen. Robert Binder: Software Testing is the execution of code using combinations of input and state selected to reveal bugs.

Information zur Konzeptberatungs-Schnittstelle

Untersuchung der Auswahl der Hauptfreiheitsgrade zum Import eines Modells von ANSYS nach SIMPACK

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Tabellarischer Vergleich der. für modellbasiertes Testen aus Managementsicht. Dominik Beulen, Barış Güldalı, Michael Mlynarski

Embedded Software Systeme systematisch und durchgängig Testen

Software Engineering in der Praxis

Catch the Bug Testaktivitäten erfolgreich messen

Hitex White Paper November Unit-Tests erhöhen die Software Qualität

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio.

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Validierung und Verifikation!

Grundlagen des Software Engineering

Modellbasierter Test mit. Medizintechnik. Kompetenz. Prozess. rund um MBT. Umsetzung. Ihren. Ausblick. Entwicklungsprozess

Inhalt. 1 Einführungsveranstaltung. 2 Qualität kompakt

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Software Testen 2.0 VL

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Das Vorgehen bei der Veränderung der Breiten wird sowohl bei Spalten als auch bei Höhe der Zeilen auf gleiche Art und Weise durchgeführt.

Software Engineering und Projektmanagement 2.0 VO

Featuremodellbasiertes und kombinatorisches Testen von Software-Produktlinien

Informationen zum Gebrauch des Rechners TI 92

Fragebogen. Was halten Sie als Praktiker von Traceability? 1 - Warum wird Traceability eingesetzt? 2 - Wofür wird Traceability im Projekt eingesetzt

Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Testmanagement. Full-Service

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

Software-Verifikation

Use-Case-Template. Deliverable E1.1

Modellbasierter Akzeptanztest für Scrum

E-Commerce. Fachtagung. Stolpersteine auf dem Weg zu erfolgreichem E-Commerce. Namics. Thomas Schärli. Projektleiter / Consultant. 26.

Softwaretechnik (Allgemeine Informatik) Überblick

WhiteStarUML Tutorial

Qualitätssicherung. Was ist Qualität?

Software-Engineering

Automatisierung von Testmanagementaufgaben

Safer Software Formale Methoden für ISO26262

T1 - Fundamentaler Testprozess

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

Testen. SEPR Referat: Testen - Oliver Herbst

Modellbasierter Akzeptanztest für Scrum. Renate Löffler, Baris Güldali, Silke Geisen TAV 30, Testing meets Agility,

Theoretische Informatik SS 03 Übung 11

Modellbasierte Softwareentwicklung

EINE STRATEGIE FÜR OBJEKTORIENTIERTE SOFTWARE TESTEN- OMEN

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler /

l i X t o Einfach schneller und robuster: Automatisierte Web-Applikationen CASE STUDY

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Effiziente Testautomatisierung in agilen Projekten

Mobile Datenerfassung mit Handheld-Geräten - Die praktische Anwendung am Beispiel ARM 8 -

SUMEX DRG EXPERT MACHT DIESES REGELWERK TRANSPARENT

IV Software-Qualitätssicherung

Stammdaten: Eine Wohnung / Einheit anlegen und auswerten

Model Driven Software Development

Benutzerhandbuch VSB Haushaltsplaner 1.0.0

Zur Beschreibung datenbasierter Parametrisierung von Softwarekomponenten

Transkript:

Dynamische Äquivalenzklassen im Klassifikationsbaum für zustandsbehaftete Systeme Harald Cichos und Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt Merckstraße 25 D-64283 Darmstadt {harald.cichos,andy.schuerr}@es.tu-darmstadt.de Abstract: Die Klassifikationsbaummethode ist eine weit verbreitete funktionsorientierte Methode zum Test von kombinatorischen Systemen. In der vorliegenden Arbeit wird eine Erweiterung der Klassifikationsbaummethode vorgestellt, die es ermöglicht, gültige und konkrete Testsequenzen auch für zustandsbehaftete Systeme abzuleiten. Zu diesem Zweck werden die im Klassifikationsbaum enthaltenen Äquivalenzklassen in Abhängigkeit vom Zustand des verhaltensbeschreibenden Testmodells aus diesem dynamisch erzeugt. 1 Einleitung In der Praxis erfreuen sich funktionsorientierte Testmethoden, auch bekannt als Black- Box-Tests, großer Beliebtheit [Lig02]. Die Klassifikationsbaummethode (KBM) [GG06] ist ein solcher Ansatz, und erlaubt die systematische Herleitung von Eingabedaten für Testfälle, die anschließend auf das zu testende System angewendet werden. Bisher wird die KBM hautsächlich zum Testen von kombinatorischen Systemen eingesetzt, da sie sich nur beschränkt zum Testen von zustandsbehafteten Systemen eignet. Begründet wird die Tatsache dadurch, dass sich bisher die durch einen Zustandswechsel erfolgten Änderungen im Systemverhalten nicht auf die Äquivalenzklassen im Klassifikationsbaum übertragen lassen. So unterstützt die KBM derzeit nur Äquivalenzklassen mit festen Wertebereichen, die sich nicht an den aktuellen Zustand anassen können. Damit die KBM zukünftig auch auf zustandsbehaftete Systeme effizient anwendbar ist, müssen die internen Attribute und der Zustand eines Systems bei der Bildung von Äquivalenzklassen mit in Betracht gezogen werden. Da ein solches Vorgehen in der Regel sehr aufwändig und fehleranfällig ist, bietet sich eine Automatisierung an. Wir schlagen daher vor, die zu einem Systemzustand assenden Äquivalenzklassen eines Klassifikationsbaums aus einem endlichen Automaten automatisch abzuleiten. Dadurch lässt sich die Komlexität und Fehleranfälligkeit beim Erzeugen des Klassifikationsbaums erheblich reduzieren. Anschließend können die für die Testfälle benötigten Testdaten aus den für den Zustand gültigen Eingabeäquivalenzklassen systematisch oder intuitiv ausgewählt und auf das zu testende System angewendet werden. In dieser Arbeit wird unser Ansatz näher erläutert und dessen Vorteile vorgestellt. 345

2 Einführung des Anwendungsbeisiels Zum besseren Verständnis des Ansatzes werden in diesem Kaitel zwei Systeme aus dem Transort-Logistik-Bereich vorgestellt (siehe Abbildung 1). Beide Systeme überwachen die Einlagerung von Paketen in ein Lagerhaus. Kleine Ladungen bestehen aus 1 bis 10 Paketen. Große Ladungen hingegen aus 11 bis 30 Paketen. Beide Systeme sollen als Ausgabe anzeigen, ob es sich um eine kleine oder große Ladung handelt. Zusätzlich dazu besitzt System B die Aufgabe die Auslastung des Lagers anzuzeigen. Dabei gilt das Lager erst bei mehr als 70 eingelagerten Paketen als ausgelastet. Eine formale Sezifikation der beiden Systeme ist in Abbildung 1 dargestellt. Bei System A handelt sich um ein kombinatorisches System, das auch als einfache Funktion interretiert werden kann. System B hingegen ist ein zustandsbehaftetes System, da es sich entsrechend der Anzahl bereits eingelagerter Pakete unterschiedlich verhält. Für diese beiden Systeme soll im Folgenden der jeweils zugehörige Klassifikationsbaum erstellt werden. Im Anschluss könnten dann aus den Klassifikationsbäumen fehlersensitive Testfälle für die zu testenden Systeme erstellt werden. System A (kombinatorisch) System B (zustandsbehaftet) Warten in() [ 1 & 10] / out(klein) in() [ ( 11 & 30) ] / out(gross) Testroblem Lager in() [ ( 1 & 10) & (l+ > 70) ] / { out(klein, ausgelastet), l+= } in() [ ( 11 & 30) & (l+ > 70) ] / { out(gross, ausgelastet), l+= } Lager ausgelastet in() [ ( 1 & 10) & (l+ 70) ] / { out(klein, ), l+= } in() [ ( 11 & 30) & (l+ 70) ] / { out(gross, ), l+= } in() [ ( 1 & 10) & (l+ 100) ] / { out(klein, ausgelastet), l+= } [-128...0] [1 10] [11 30] [31 127] in() [ ( 11 & 30) & (l+ 100) ] / { out(gross, ausgelastet), l+= } a) Formale Sezifikation eines kombinatorischen Systems mit dem dazu assenden Klassifikationsbaum. Basis Testroblem 1& 10&l+>70 1& 10&l+ 70 1& 10&l+>70&l+ 100 [0..100] 11& 30&l+>70 11& 30&l+ 70 11& 30&l+>70&l+ 100 l Eingaben: short ; // Anzahl der Pakete Interne Attribute: short l; // Anzahl der Pakete im Lager Ausgabe: LED1 = {klein, gross); // Größe der Ladung LED2 = {, ausgelastet}; 1. 2. Testroblem [-128...0] [1 10] [11 30] [31 127] 0 Testroblem [-128...0] [1 7] [8 10] [11 30] [31 127] 63 l l c) Ergänzende textuelle Sezifikation zu den zwei Systemen A und B. b) Formale Sezifikation eines zustandsbehafteten Systems mit zwei aus dem Basis-Klassifikationsbaum abgeleiteten und dem internen Attribut entsrechenden Klassifikationsbäumen. Abbildung 1: Formale Sezifikation zweier Systeme mit zugehörigen Klassifikationsbäumen. 346

3 Klassifikationsbaummethode Beim Black-Box-Test darf das zu testende System nur über seine Schnittstellen getestet werden. Demzufolge liegt die einzige Möglichkeit eine Imlementierung auf Konformität mit ihrer Sezifikation zu überrüfen in der Untersuchung des vollständigen Eingaberaumes. Jedoch ist das in realen Softwaresystemen aufgrund der damit verbunden Kosten selten raktikabel. Daher wird der Eingabewertebereich tyischerweise in Äquivalenzklassen artitioniert. Dabei enthält eine Eingabeäquivalenzklasse nur solche Werte, die gleiches Ausgabeverhalten aufweisen, welches aber mehrere als äquivalent angesehene Ausgabewerte umfassen darf [Lig02]. Die Bildung von Äquivalenzklassen findet auch innerhalb der KBM Anwendung. Dabei wird zunächst die Sezifikation eines kombinatorischen Systems analysiert, um die testrelevanten Eingabearameter zu identifizieren. Zugleich werden die für das Testroblem unwichtigen Informationen abstrahiert, um dessen Komlexität zu senken. Anschließend wird der Wertebereich aller testrelevanten Eingabearamter anhand von Asekten in Äquivalenzklassen unterteilt. Diese Unterteilung geschieht systematisch sowie schrittweise und führt letztendlich zu einer grafisch darstellbaren Baumstruktur, dem Klassifikationsbaum (siehe Abbildung 1a). Zum Erstellen eines Testfalls muss jedem Eingabearameter aus einer seiner Äquivalenzklassen ein reräsentativer Wert zugewiesen werden. Zum Erstellen von fehlersensitiven Testfällen eignen sich erfahrungsgemäß die Grenzwerte der Äquivalenzklassen. Durch das Bilden von Äquivalenzklassen können redundante Testfälle vermieden werden, was zu einer Reduktion der Anzahl zu betrachtender Testfälle führt. Weitere Vorteile der KBM sind die Visualisierung des Testroblems und das mögliche Aufdecken von Unklarheiten in der funktionalen Sezifikation während der Erstellung des Baumes. Die KBM setzt auf der Category-Partition-Method [OB88] auf und diente ursrünglich dem Erstellen abstrakter Testfälle. Sie wurde erst in einer säteren Arbeit [LB03] um die Eingaben von konkreten Testdaten erweitert. Die Kombination von Klassifikationsbäumen und zustandsbehafteten Systemen wurde erstmals in [OMS09] angedacht. Zum Themengebiet assende Arbeiten [WS08a, WS08b, Wei08] beschäftigten sich aber schon vorher mit der Bildung vonäquivalenzklassen und deren Einsatz beim Test vonzustandsbehafteten Systemen. Der Classification-Tree-Editor (CTE) ist ein eigens für die KBM entwickeltes Werkzeug, das den Tester beim Erstellen eines Klassifikationsbaums unterstützt [GG06, LW00]. Der CTE erlaubt das Erstellen von Testsequenzen durch das Zusammenfassen von Testfällen, wobei ein Testfall jeweils die Voraussetzung für den nachfolgenden Testfall schafft. Allerdings assen sich die Äquivalenzklassen während einer Testsequenz nicht den internen Attributwerten eines zustandsbehafteten Systems an. Folglich kann der Reräsentant einer Äquivalenzklasse bei Vorliegen eines Zustandswechsels im Folgezustand ein anderes Verhalten verursachen, als das Verhalten der durch ihn charakterisierten Äquivalenzklasse. Aufgrund dessen sollten mit dem CTE erstellte Testsequenzen für zustandsbehaftete Systeme als otentiell fehlerhaft angesehen werden. Auch lassen sich mit dem CTE Bedingungen formulieren, die sich auf Äquivalenzklassen unterschiedlicher Eingabearameter beziehen. So kann angegeben werden, dass eine Äquivalenzklasse nicht mehr ausgewählt werden darf, wenn zuvor einem anderen Parameter ein gewisser Wert zugewiesen wurde. Allerdings lassen sich diese Bedingungen nicht testfallübergreifend formulieren, weshalb sie für zustandsbehaftete Systeme ungeeignet sind. 347

4 Erweiterung auf zustandsbehaftete Systeme Bei dem Versuch, für die beiden Systeme A und B (siehe Abbildung 1) jeweils einen Klassifikationsbaum zu erstellen, wird deutlich, dass die KBM in ihrer derzeitigen Form zwar für kombinatorische Systeme geeignet ist, nicht aber für zustandsbehaftete Systeme. Damit die KBM auch auf zustandsbehaftete Systeme angewendet werden kann, müssen sich die Äquivalenzklassen eines Klassifikationsbaums dynamisch an den Zustand und an die internen Attribute des Systems anassen. Da die Abhängigkeiten zwischen dem Zustand bzw. den internen Attributen und den Äquivalenzklassen der Eingabewerte sehr komlex ausfallen können und daher für eine manuelle Herleitung zu fehleranfällig sind, sollten solche Äquivalenzklassen automatisch berechnet werden. Mit dynamisch hergeleiteten, dem Systemzustand entsrechenden Äquivalenzklassen sind Testsequenzen mit konkreten und gültigen Grenzwerten als Eingabedaten für zustandsbehaftete Systeme mittels der KBM möglich. Für das automatische Herleiten der Äquivalenzklassen wird jedoch eine formale Sezifikation des zu testenden Systems vorausgesetzt, beisielsweise ein Zustandsautomat (siehe Abbildung 1b). Durch die Hinzunahme eines Zustandsautomaten gehört die KBM zukünftig zu den zustandsbasierten Testmethoden, die wiederum den modellbasierten Testverfahren zugeordnet werden. Zustandsbasierte Testmethoden werden eingesetzt, wenn sich neben den Eingabewerten auch der aktuelle Zustand des zu testenden Systems auf das Systemverhalten auswirkt. Bisher wurden zustandsbasierte Testmethoden vor allem zur Strukturüberdeckung eingesetzt. Durch die Kombination mit der Äquivalenzklassenbildung bietet sich jedoch das Testen von Grenzwerten an. Ein weiterer Vorteil dieser Kombination ist zudem, dass im hinzugenommenen Zustandsautomaten das erwartete Testverhalten enthalten ist, wodurch dieser auch als Testorakel eingesetzt werden kann. Bisher wird diese Funktion vom Tester übernommen. Schließlich eignet sich die Kombination, um die üblicherweise nicht sezifizierten, ungültigen Äquivalenzklassen automatisch zu identifizieren (siehe die äußeren Äquivalenzklassen des Klassifikationsbaums in Abbildung 1a) und damit, durch die Wahl eines entsrechenden Reräsentanten, das System auf unnötig imlementierte Funktionen zu überrüfen. Aus dem Zustandsautomaten kann für jeden Zustandsübergang die Äquivalenzklasse derjenigen Werte berechnet werden, die für den Zustandsübergang benötigt werden (siehe Basis-Klassifikationsbaum in Abbildung 1b). Für diese Aufgabe können insbesondere Verfahren der symbolischen Ausführung Anwendung finden [Kne92]. Diese sind in der Lage, selbst noch bei Zustandsübergängen mit komlexen Verzweigungsbedingungen (Kontrollflussartige Strukturen) die korrekten Äquivalenzklassen zu bestimmen. In einem zustandsbehafteten System wirken sich der Zustand und die internen Attribute in der Regel auf die Äquivalenzklassen der Eingabearameter aus. Beisielsweise ist in Tabelle 1 gut zu erkennen, welche Auswirkung der Wert des internen Attributs l des Systems B auf die Äquivalenzklassen des Eingabearameters hat. In Abbildung 1b sind zum besseren Verständnis noch zwei Klassifikationsbäume dargestellt, deren Äquivalenzklassen jeweils an den Wert 0bzw. 63des internen Attributs l dynamisch angeasst wurden. Da interne Attribute nicht direkt von außen beeinflussbar sind, kann deren Auswirkung auf die Äquivalenzklassen der Eingabearameter leicht aufgelöst werden. So lässt sich die Äquivalenzklasse eines abhängigen Eingabearameters sofort mit dem Wert des zugehöri- 348

ÄK des Eingabearameters in Abhängigkeit vom Wert des Attributs l [ 1 10], [ 11 30 ] [ 1 10], [ 11 (70 l ) ], [ ( 71 l ) 30 ] [ 1 10], [ 11 30 ] [ 1 (70 l ) ], [ ( 71 l ) 10], [ 11 30] [ 1 10], [ 11 30 ] [ 1 10], [ 11 (100 l) ] [ 1 (100 l ) ] Zustand ausgelastet ausgelastet ÄK für Attribut l [0 40] [ 41 59] 60 [ 61 69] 70 [71 89] [ 90 99] Tabelle 1: Die Äquivalenzklassen des Eingabearameters des zustandsbehafteten Systems B (siehe Abbildung 1b) verändern sich in Abhängigkeit vomwert des internen Attributs l. gen internen Attributs verrechnen. Je mehr Abhängigkeiten durch das Festlegen von Werten aufgelöst wurden, desto übersichtlicher wird die Darstellung des dynamischen Klassifikationsbaums. Durch das Auflösen der Abhängigkeiten können auch mehrere Äquivalenzklassen eines Eingabearameters zusammenfallen. In Abhängigkeit davon, für welche Äquivalenzklasse zuerst Reräsentanten gewählt und somit die Abhängigkeiten aufgelöst werden, kann der Klassifikationsbaum vorübergehend unterschiedliche Äquivalenzklassen ausbilden. Zusätzlich zu der Abhängigkeit zwischen den Eingabearametern und den internen Attributen, können die Eingabearameter aber auch untereinander voneinander abhängen. Diese Abhängigkeit lässt sich durch Vorbedingungen lösen. Diese werden den dynamischen Äquivalenzklassen eines abhängigen Eingabearameter beigefügt und ermöglichen bei Auswahl eines Reräsentanten die Auflösung der Abhängigkeit. Testsequenzen können mit dieser Erweiterung für zustandsbehaftete Systeme sowohl manuell als auch automatisch erstellt werden. Das manuelle Erstellen einer Testsequenz verläuft wie folgt: Ausgehend vomstartzustand werden die Äquivalenzklassen berechnet, die die Bedingungen der ausgehenden Zustandsübergänge erfüllen. Anschließend werden, abhängig vom gewünschten Folgezustand, die Reräsentanten ausgewählt. Ausgehend vom erreichten Folgezustand wird der zuvor getätigte Schritt solange wiederholt, bis das Testziel der Testsequenz erreicht ist. Ein Testziel kann beisielsweise das Erreichen eines Zustandes darstellen. Testsequenzen zu einem bestimmten Testziel lassen sich aber auch automatisch erstellen. Durch den Einsatz von Model-Checkern [GH99] lassen sich beisielsweise die kürzesten Testsequenzen zu einem Testziel automatisch berechnen. Unabhängig davon, auf welche Art die Testsequenzen erstellt wurden, können diese anschließend durch die KBM so modifiziert werden, dass die Testsequenzen gegenüber Fehlern sensitiver werden. Zu diesem Zweck müssen die Eingabewerte der sequentiell ablaufenden Testfälle durch die Grenzwerte der zugehörigen Äquivalenzklasse ausgetauscht werden. Allerdings ist dabei darauf zu achten, dass das eigentliche Verhalten der Testsequenz nicht verändern wird. 349

5 Zusammenfassung und Ausblick In dieser Arbeit haben wir einen Ansatz beschrieben, wie sich die Klassifikationsbaummethode auf zustandsbehaftete Systeme effizient anwenden lässt. Dafür wird die Methode um eine Zustandsautomaten erweitert, der gerade der formalen Sezifikation des zu testenden Systems entsricht. Aus diesem Verhaltensmodell heraus kann der Eingabewertebereich in die für einen Systemzustand gültigen Äquivalenzklassen zerlegt werden. Durch die Auswahl und Festlegung von Grenzwerten als Reräsentanten der Äquivalenzklassen können dann insbesondere fehlersensitive und weniger redundante Testfälle für das zustandsbehaftete System abgeleitet werden. Aufgrund der mit der Berechnung der Äquivalenzklassen verbundenen hohen Komlexität und derer dynamischen Darstellung soll in weiteren Arbeiten ein Werkzeug entwickelt werden, das diese Aufgaben übernimmt. Literatur [GG06] M. Grochtmann und K. Grimm. Classification Trees for Partition Testing. Software Testing, Verification and Reliability, 3(2):63 82, 2006. [GH99] [Kne92] [LB03] A. Gargantini und C. Heitmeyer. Using Model Checking to Generate Tests from Requirements Secifications. SIGSOFT Software Eng.Notes,24(6):146 162, 1999. R. Kneuer. Validation und Verifikation von Software durch symbolische Ausführung. Testen, Analysieren und Verifizieren von Software, Informatik Aktuell. Sringer,1992. S. Lützkendorf und K. Bothe. Attributierte Klassifikationsbäume zur Testdatenbestimmung. Fachgrue TAVder Gesellschaft für Informatik,2003. [Lig02] P. Liggesmeyer. Software-Qualität. Sektrum, Akad. Verlag, 2002. [LW00] [OB88] E. Lehmann und J. Wegener. Test Case Design by means of the CTE XL. Proceedings of the 8th Euroean International Conference on Software Testing, Analysis &Review (EuroSTAR 2000), 2000. T. J. Ostrand und M. J. Balcer. The Category-Partition Method for Secifying and Generating Functional Tests. Commun. of the ACM,31(6):676 686, 1988. [OMS09] S. Oster, F.Markert und A. Schürr. Integrated Modeling of Software Product Lines with Feature Models and Classification Trees. In Proceedings of the 13th Int. SPL Conf., MAPLE 2009 Worksho. Sringer, 2009. [Wei08] S. Weißleder. Partition-Oriented Test Generation. GI Jahrestagung,1:199 204, 2008. [WS08a] S. Weißleder und H. Schlingloff. Deriving Inut Partitions from UML Models for Automatic Test Generation. In Models in Software Eng.: Workshos MODELS 2007, Seiten 151 163. Sringer, 2008. [WS08b] S. Weißleder und H. Schlingloff. Quality of Automatically Generated Test Cases based on OCL Exressions. ICST, 2008. 350