www.wikidata.de-de.nina.az
Die Klassifikationsbaum Methode englisch classification tree method ist eine im Bereich von eingebetteter Software verbreitete Methode 1 zur Ermittlung funktionaler Blackbox Tests 2 Sie wurde ursprunglich 1993 von Grimm und Grochtmann entwickelt 3 Es handelt sich dabei nicht um Klassifikationsbaume im Sinne von Entscheidungsbaumen Die Klassifikationsbaum Methode besteht im Wesentlichen aus zwei Schritten 4 5 Bestimmung der testrelevanten Aspekte so genannte Klassifikationen und moglicher Auspragungen genannt Klassen so wie Kombination von unterschiedlichen Klassen fur alle Klassifikationen zu Testfallen Ausgangspunkt ist die funktionale Spezifikation z B Anforderungen Anwendungsfall des Testobjekts Der zweite Schritt der Methode folgt den Prinzipien des kombinatorischen Testentwurfs 4 Ergebnis ist eine Menge von Testfallspezifikationen die moglichst fehler sensitive jedoch keine redundanten Testfallspezifikationen enthalten soll Durch die methodische Vorgehensweise soll sichergestellt werden dass die resultierende Menge von Testfallspezifikationen alle relevanten Testfalle enthalt Obwohl die Methode mit Stift und Papier anwendbar ist wird ublicherweise der Klassifikationsbaum Editor engl Classification Tree Editor dafur verwendet 6 Inhaltsverzeichnis 1 Die Anwendung der Klassifikationsbaum Methode 1 1 Beispiel 2 Erweiterungen 2 1 Ursprung 2 2 Klassifikationsbaum Methode fur eingebettete Systeme 2 3 Konkrete Testdaten und zeitliche Aspekte 2 4 Abhangigkeitsregeln und Automatische Testfallgenerierung 2 5 Priorisierende Testfallgenerierung 2 6 Testsequenz Generation 2 7 Numerische Abhangigkeiten 3 Classification Tree Editor Testona 4 Vorteile 4 1 Visualisierung der Testideen 4 2 Schafft Vertrauen 4 3 Reduziert die Komplexitat 4 4 Uberpruft die Spezifikation 4 5 Abschatzung des Testaufwands 5 Nachteile und Kritik 6 Siehe auch 7 EinzelnachweiseDie Anwendung der Klassifikationsbaum Methode BearbeitenVoraussetzung fur die Anwendung der Methode ist die Festlegung eines Testobjekts Die Klassifikationsbaum Methode ist eine Methode fur den Black Box Test und unterstutzt dabei ganz unterschiedliche Arten von Pruflingen wie beispielsweise Hardware Systeme integrierte Hardware Software Systeme reine Software Systeme insbesondere auch Eingebettete Systeme Benutzer Schnittstellen Betriebssysteme Parser so wie auch Teilsysteme dieser Nach Auswahl des Pruflings besteht der erste Schritt nun in der Ermittlung der testrelevanten Aspekte 4 Ein jedes System lasst sich beschreiben als eine Sammlung aus Klassifikationen fur alle Eingabe und Ausgabe Parameter Wobei Eingabe Parameter auch Umgebungsvariablen Pre Conditions und weitere eher untypische Parameter enthalten konnen 1 Jede Klassifikation besteht aus einer beliebigen Menge von disjunkten Klassen welche mogliche Auspragungen der Parameter beschreiben Die Wahl der Klassen folgt dabei typischerweise dem Prinzip der Aquivalenzklassen Bildung fur abstrakte Testfalle und der Grenzwert Analyse fur konkrete Testfalle 5 Zusammen bilden alle Klassifikationen und Klassen den Klassifikationsbaum Daruber hinaus lassen sich Klassifikationen auch semantisch in Kompositionen gruppieren Diese Aufteilung des Problems in verschiedene Aspekte die im Folgenden separat verfeinert werden konnen reduziert die Komplexitat des ursprunglichen Testproblems Eine Aquivalenzklasse kann man nach zusatzlichen Gesichtspunkten weiter klassifizieren Durch die wiederholte Bildung von Unter Klassifikationen mit den dazugehorigen Klassen ergibt sich schlussendlich der Klassifikationsbaum Seine Wurzel bildet die Problemstellung er wachst von oben nach unten Klassifikationen sind durch Rechtecke eingerahmt Klassen haben keinen Rahmen Im zweiten wesentlichen Schritt der Methode werden Testfallen dann dadurch gebildet dass fur jede Klassifikation im Baum genau eine Klasse gewahlt wird Die Auswahl der Testfalle war ursprunglich 3 eine manuelle Tatigkeit des Testers Die Blatter des Klassifikationsbaums d h Klassen ohne weitere Klassifikation bilden den Kopf der Kombinationstabelle Eine Zeile in der Kombinationstabelle spezifiziert einen Testfall indem die Blattklassen des Baums markiert werden aus denen ein Wert fur diesen Testfall verwendet wird Beispiel Bearbeiten nbsp Klassifikationsbaum fur ein Datenbank SystemFur ein Datenbanksystem soll ein Testentwurf durchgefuhrt werden Bei der Anwendung der Klassifikationsbaum Methode ergibt die Festlegung der testrelevanten Aspekte im ersten Schritt die Klassifikationen Benutzerrolle Datenbankanfrage und Zugriffsart Fur die Benutzerrollen wurden zwei Klassen identifiziert Normaler Benutzer und Administrator Es gibt drei Arten von Datenbankanfragen Hinzufugen Bearbeiten und Loschen Fur Zugriffsart wurden drei Klassen gefunden Natives Tool Webbrowser API Die Webbrowser Klasse ist weiter verfeinert mit dem Testaspekt Marke drei mogliche Klassen gibt es hier Internet Explorer Mozilla Firefox and Apple Safari Der erste Schritt der Methode ist nun abgeschlossen Naturlich gibt es weitere mogliche Testaspekte wie zum Beispiel die Geschwindigkeit der Netzanbindung oder die Zahl der vorhandenen Datenbankeintrage Durch die graphische Darstellung der Testaspekte im Baum lassen sich die gewahlten Aspekte und die vorgesehenen Werte schnell einsehen Im zweiten Schritt wurden drei Testfalle manuell gewahlt Ein normaler Benutzer fugt einen neuen Datensatz mittels eines nativen Tools ein Ein Administrator bearbeitet einen bestehenden Datensatz mit dem Firefox Browser Ein normaler Benutzer loscht einen Datensatz uber die API Noch ein wenig Statistik Es gibt 30 mogliche Testfalle insgesamt 2 Benutzerrollen 3 Datenbankanfragen 5 Zugriffsarten Fur die Minimalabdeckung reichen 5 Testfalle aus da es 5 Zugriffsarten gibt und Zugriffsart die Klassifikation mit der grossten Anzahl an Klassen ist Erweiterungen BearbeitenUrsprung Bearbeiten Die Klassifikationsbaum Methode wurde im Software Forschungslabor von Daimler Benz in Berlin entwickelt und ist eine Weiterentwicklung der Category Partition Method 7 CPM von Ostrand und Balcer Gegenuber der CPM bietet sie folgende Vorteile 1 Notation Bei der CPM gab es nur texuelle Beschreibung im Gegensatz zur graphischen Baum Darstellung Verfeinerungen erlauben die Spezifikation von bedingten Testaspekten CPM bot nur Restriktionen Die Klassifikationsbaum Methode bietet hierarchische Verfeinerungen direkt im Baum fur implizite Abhangigkeiten Werkzeugunterstutzung Das Werkzeug von Ostrand und Balcer unterstutzte nur Testfallgenerierung ohne Bestimmung der Testaspekte Der Klassifikationsbaumeditor Testona ehemals Classification Tree Editor CTE von Grochtmann und Wegener hingegen unterstutzt sowohl Partitionierung als auch Testfallgenerierung 6 nbsp Classification Tree for Embedded System Example containing concrete values concrete timing different transitions and distinguish between States and ActionsKlassifikationsbaum Methode fur eingebettete Systeme Bearbeiten Die Klassifikationsbaum Methode war ursprunglich fur Entwurf und Spezifikation abstrakter Testfalle vorgesehen Mit der Klassifikationsbaum Methode fur eingebettete Systeme 8 lassen sich auch Tests implementieren Dazu wurden einige Zusatzinformationen vorgesehen Zusatzlich zu atomaren Testfallen lassen sich Testsequenzen mit mehreren einzelnen Testschritten definieren Konkretes Zeitverhalten z B in Sekunden Minuten kann fur jeden einzelnen Testschritt festgelegt werden Signalverlaufe z B Linear Spline Sinus konnen zwischen gewahlten Klassen aufeinander folgender Testschritte angegeben werden Eine Unterscheidung zwischen Aktion und Zustand lasst sich modellieren Sie wird durch unterschiedliche graphische Markierungen im Test dargestellt Das Modultest Werkzeug TESSY nutzt ebenfalls einige dieser Erweiterungen Konkrete Testdaten und zeitliche Aspekte Bearbeiten Ansatze aus Klassifikationsbaumen Testdaten zu generieren wurden ebenfalls verfolgt 9 10 Die Methode Time Partition Testing TPT ist eine Erweiterung der Klassifikationsbaum Methode um zeitliche Aspekte die beim Test von Steuerungs und Regelungssystemen eine grosse Rolle spielen E Lehmann beschreibt in seiner Dissertation 11 wie Klassifikationen auf Zustande und Zustandsubergange in den TPT Automaten abgebildet werden konnen und so auch zeitliche Aspekte abgebildet werden konnen Abhangigkeitsregeln und Automatische Testfallgenerierung Bearbeiten Der Verfeinerungsmechanismus in der Klassifikationsbaum Methode lasst sich fur die Modellierung von Abhangigkeiten nutzen Allerdings lassen sich so keine Abhangigkeiten zwischen Klassen unterschiedlicher Klassifikationen modellieren Lehmann und Wegener haben Abhangigkeitsregeln basierend auf Boolescher Algebra fur den CTE eingefuhrt 12 Ausserdem ermoglichten sie die automatische Generierung von Testfallmengen basierend auf kombinatorischem Testdesign z B der Pairwise Methode Priorisierende Testfallgenerierung Bearbeiten Jungere Erweiterungen zu Klassifikationbaum Methode betreffen die priorisierende Testfallgenerierung Mit ihnen ist es moglich Elementen des Klassifikationsbaums Gewichte in Form von Eintrittswahrscheinlichkeit Fehlerwahrscheinlichkeit und Risiko zuzuordnen Diese Gewichte lassen sich dann in der Testfallgenerierung verwenden um Testfalle in Reihenfolge ihrer Prioritat der abgedeckten Gewichte zu erzeugen 13 Statistisches Testen z B fur den Test von Materialermudung und Verschleiss ist ebenfalls moglich indem die zugeordneten Gewichte als diskrete Wahrscheinlichkeitsverteilung interpretiert werden Testsequenz Generation Bearbeiten Durch das Hinzufugen von gultigen Ubergangen zwischen den einzelnen Klassen einer Klassifikation lassen sich diese Klassifikationen als State Machine interpretieren Die Gesamtheit aller Klassifikationen im Baum wird zum Statechart Dieses Vorgehen definiert eine erlaubte Abfolge von Klassenverwendungen in Testschritten und damit auch die automatische Generierung von gultigen Testsequenzen 14 Unterschiedliche Abdeckungsraten sind verfugbar wie Zustandsuberdeckung Transitionsuberdeckung Pfaduberdeckung und Abdeckung von Zustandspaaren und Transitionspaaren Numerische Abhangigkeiten Bearbeiten Zusatzlich zu Booleschen Abhangigkeiten die Aussagen uber das gemeinsame Auftreten von Klassen in einem Testfall machen lassen sich auch numerische Abhangigkeiten definieren die eine Berechnungsvorschrift vorgeben bei denen Klassifikationen als Variablen interpretiert werden und deren Belegung sich aus den im Testfall genutzten Klassen ergibt 15 Classification Tree Editor Testona BearbeitenDer Klassifikationsbaumeditor Testona ehemals CTE unterstutzt den Entwurf des Klassifikationsbaums sowie die Spezifikation der Testfalle Testona besitzt einen Graphikeditor der speziell zum Zeichnen von Klassifikationsbaumen gedacht ist Beispielsweise berucksichtigt Testona die vorgeschriebene Abfolge von Klassifikation bzw Komposition und Klasse und schlagt beim Zeichnen das jeweils passende Baumelement vor Die Testfallspezifikationen werden in der Kombinationstabelle angelegt und durch Testona verwaltet Sie konnen in Testsequenzen zusammengefasst werden die zur Beschreibung von dynamischen Ablaufen benotigt werden Zur Dokumentation konnen von Testona Reports in Excel Word oder als Textdatei erzeugt werden Zum Modultest Werkzeug TESSY konnen die erstellten Testfalle direkt exportiert werden Vorteile BearbeitenVisualisierung der Testideen Bearbeiten Ein wesentlicher Vorteil der Klassifikationsbaum Methode ist die Visualisierung der Testideen die somit leicht vermittelbar sind beispielsweise bei Reviews Reviews sind auch ein probates Mittel wenn es darum geht sich zu versichern dass keine Testfallspezifikationen fehlen Schafft Vertrauen Bearbeiten Hat man einen sorgfaltig erarbeiteten Baum und wohluberlegte Testfallspezifikationen erstellt gibt es eine grosse Wahrscheinlichkeit dafur dass man die meisten oder vielleicht sogar fast alle Fehler finden wird Reduziert die Komplexitat Bearbeiten Beim ersten Nachdenken uber die notwendigen Testfalle fur ein bestimmtes Problem hat man zumeist zahlreiche Einfalle und Ideen Die Herausforderung besteht eher darin die Einfalle zu strukturieren und redundante Testfalle zu erkennen Die Klassifikationsbaum Methode reduziert die in dieser Aufgabe liegende Komplexitat denn sie erlaubt einzelne Aspekte Klassifikationen isoliert zu betrachten und sich gezielt Gedanken uber die notigen und unnotigen Aquivalenzklassen zu machen Uberpruft die Spezifikation Bearbeiten Der erste Schritt der Klassifikationsbaum Methode ist die Analyse der Problemspezifikation Dies erzwingt automatisch die Uberprufung der Spezifikation auf Auslassungen Widerspruche und Unklarheiten Abschatzung des Testaufwands Bearbeiten Schon aus dem Klassifikationsbaum kann man gewisse Masse ermitteln z B die minimale Anzahl von Testfallen fur einen gegebenen Baum Diese und andere Masse werden durch das Werkzeug Testona ermittelt Nachteile und Kritik BearbeitenDas Erstellen von guten Klassifikationsbaumen wird durch die Vermischung unterschiedlicher Aspekte erschwert Wahrend bei der Aquivalenzklassenmethode und der Grenzwertanalyse zunachst jede Grosse fur die Zerlegung in relevante Bereiche allein betrachtet wird und erst in einem zweiten Schritt Abhangigkeiten zwischen Grossen betrachtet werden mussen beide Schritte im Sinn der Klassifikationsbaum Methode zusammen erfolgen Dies ist notwendig da die Baumstruktur wesentlich von Abhangigkeiten zwischen Grossen beeinflusst wird Klassifikationsbaume sind ubersichtlich bei einer begrenzten Anzahl von Klassifikationen Aquivalenzklassen und Testfallen Bei grossen Klassifikationsbaumen ist es schwierig die Ubersicht zu behalten Siehe auch BearbeitenCART Algorithmus TDIDT CHAID Entscheidungsbaum TPT Eine Spezialisierung der Klassifikationsbaum Methode fur den Test von Steuerungs und RegelsystemenEinzelnachweise Bearbeiten a b c Anne Mette Jonassen Hass Guide to advanced software testing Artech House Boston 2008 ISBN 1 59693 286 4 S 179 186 Graham Bath Judy McKay The software test engineer s handbook a study guide for the ISTQB test analyst and technical test analyst advanced level certificates 1st Auflage Rocky Nook Santa Barbara CA 2008 ISBN 978 1 933952 24 6 a b Matthias Grochtmann Klaus Grimm Classification Trees for Partition Testing In Software Testing Verification amp Reliability 3 Jahrgang Nr 2 1993 S 63 82 doi 10 1002 stvr 4370030203 a b c D Richard Kuhn Raghu N Kacker Yu Lei Introduction to combinatorial testing Crc Pr Inc 2013 ISBN 1 4665 5229 8 S 76 81 a b Pierre Henry The testing network an integral approach to test activities in large software projects Springer Berlin 2008 ISBN 978 3 540 78504 0 S 87 a b Matthias Grochtmann Wegener Joachim Test Case Design Using Classification Trees and the Classification Tree Editor CTE In Proceedings of the 8th International Software Quality Week QW 95 San Francisco USA 1995 systematic testing com Memento des Originals vom 24 September 2015 im Internet Archive abgerufen am 14 Oktober 2013 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www systematic testing com T J Ostrand M J Balcer The category partition method for specifying and generating functional tests In Communications of the ACM 31 Jahrgang Nr 6 1988 S 676 686 doi 10 1145 62959 62964 Mirko Conrad Alexander Krupp An Extension of the Classification Tree Method for Embedded Systems for the Description of Events In Electronic Notes in Theoretical Computer Science 164 Jahrgang Nr 4 1 Oktober 2006 S 3 11 doi 10 1016 j entcs 2006 09 002 Stefan Lutzkendorf Klaus Bothe Attributierte Klassifikationsbaume zur Testdatenbestimmung In Softwaretechnik Trends 23 Jahrgang Nr 1 2003 uni siegen de Zhen Ru Dai Peter H Deussen Maik Busch Laurette Pianta Lacmene Titus Ngwangwen Jens Herrmann Michael Schmidt Automatic Test Data Generation for TTCN 3 using CTE In Proceedings of the 18th International Conference Software amp Systems Engineering and their Applications ICSSEA 2005 webmail testingtech de Memento des Originals vom 4 Marz 2016 im Internet Archive abgerufen am 14 Oktober 2013 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot webmail testingtech de Eckard Lehmann Time Partition Testing Systematischer Test des kontinuierlichen Verhaltens von eingebetteten Systemen 2003 piketec com PDF Eckard Lehmann Joachim Wegener Test Case Design by Means of the CTE XL In Proceedings of the 8th European International Conference on Software Testing Analysis amp Review EuroSTAR 2000 2000 systematic testing com Memento des Originals vom 4 Marz 2016 im Internet Archive abgerufen am 14 November 2013 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www systematic testing com Peter M Kruse Magdalena Luniak Automated Test Case Generation Using Classification Trees In Software Quality Professional 13 Jahrgang Nr 1 Dezember 2010 S 4 12 Peter M Kruse Joachim Wegener Test Sequence Generation from Classification Trees In Software Testing Verification and Validation ICST 2012 IEEE Fifth International Conference on April 2012 ISBN 978 0 7695 4670 4 S 539 548 doi 10 1109 ICST 2012 139 Peter M Kruse Jurgen Bauer Joachim Wegener Numerical Constraints for Combinatorial Interaction Testing In Software Testing Verification and Validation ICST 2012 IEEE Fifth International Conference on April 2012 ISBN 978 0 7695 4670 4 S 758 763 doi 10 1109 ICST 2012 170 Abgerufen von https de wikipedia org w index php title Klassifikationsbaum Methode amp oldid 234407426