Klassifikationsbaum-Methode

Klassifikationsbaum-Methode

Die Klassifikationsbaummethode (englisch classification tree method) ist eine im Bereich von eingebetteter Software verbreitete Methode zur Ermittlung funktionaler Blackbox-Tests. Es handelt sich dabei nicht um Klassifikationsbäume im Sinne von Entscheidungsbaum.

Ausgangspunkt ist die funktionale Spezifikation des Testobjekts. Ergebnis ist eine Menge von Testfallspezifikationen, die möglichst fehler-sensitive, jedoch keine redundanten Testfallspezifikationen enthalten soll. Durch die methodische Vorgehensweise soll sichergestellt werden, dass die resultierende Menge von Testfallspezifikationen alle relevanten Testfälle enthält.

Inhaltsverzeichnis

Ursprung der Methode

Die Klassifikationsbaummethode ist eine Weiterentwicklung der Category-Partition Method (Ostrand und Balcer). Sie wurde im Software-Forschungslabor von DaimlerChrysler in Berlin entwickelt.

Weiterentwicklungen der Methode

Die ursprünglich 1993 vorgestellte Methode dient zunächst nur der Spezifikation von abstrakten Testfällen.

Die Erweiterung zur Klassifikationsbaummethode für eingebettete Systeme erfolgte im Rahmen einer Dissertation an der TU-Berlin. Damit wird die Spezifikation von konkreten Testdaten, wie sie für die Ausführung des Testfalls benötigt werden möglich.

Ansätze aus Klassifikationsbäumen Testdaten zu generieren wurden ebenfalls verfolgt.[1][2]

Die Methode Time Partition Testing ist eine Erweiterung der Klassifikationsbaummethode um zeitliche Aspekte, die beim Test von Steuerungs- und Regelungssystemen eine große Rolle spielen. E.Lehmann beschreibt in seiner Dissertation[3] wie Klassifikationen auf Zustände und Transitionen in den Time Partition Testing Automaten abgebildet werden können, und so auch zeitliche Aspekte abgebildet werden können.

Die Anwendung der Klassifikationsbaummethode

Ermittlung der testrelevanten Aspekte

Die Klassifikationsbaummethode startet mit der Analyse der funktionalen Spezifikation. Das Ziel ist dabei, die so genannten testrelevanten Aspekte dieses Problems zu erkennen. Durch sinnvolle Auswahl der Werte, die diese Aspekte annehmen können, verspricht man sich unterschiedliche, relevante Testfälle. Diese Aufteilung des Problems in verschiedene Aspekte, die im Folgenden separat verfeinert werden können, reduziert die Komplexität des ursprünglichen Testproblems beträchtlich.

Klassifikation

Sind alle testrelevanten Aspekte gefunden, werden für jeden Aspekt die Werte betrachtet, die dieser Aspekt annehmen kann. Der gefundene Wertebereich wird dann analog der Äquivalenzklassenmethode in Klassen zerlegt. Die Zerlegung wird so vorgenommen, dass alle Werte einer Klasse als äquivalent für den Test betrachtet werden können. Anders ausgedrückt: Welcher Wert aus einer Klasse für den Test verwendet wird, beeinflusst das Testergebnis nicht. Die Verantwortung, dass diese Aussage zutreffend ist, liegt beim Anwender.

Wiederholte Anwendung ergibt den Klassifikationsbaum

Eine Äquivalenzklasse kann man nach zusätzlichen Gesichtspunkten weiter klassifizieren. Durch die wiederholte Bildung von Unter-Klassifikationen mit den dazugehörigen Klassen ergibt sich schlussendlich der Klassifikationsbaum. Seine Wurzel bildet die Problemstellung; er wächst von oben nach unten; Klassifikationen sind durch Rechtecke eingerahmt; Klassen haben keinen Rahmen.

Testfälle werden in der Kombinationstabelle spezifiziert

Die Blätter 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 für diesen Testfall verwendet wird. Es ist allerdings nicht Sinn der Methode, mechanisch alle möglichen Kombinationen der Blattklassen als Testfälle zu spezifizieren, sondern der Anwender ist aufgefordert, möglichst mehrere Aspekte durch einen Testfall abzudecken, um so zu einer minimalen, nicht-redundanten Menge von Testfallspezifikationen zu kommen.

Classification Tree Editor CTE

Der Klassifikationsbaumeditor CTE unterstützt den Entwurf des Klassifikationsbaums sowie die Spezifikation der Testfälle. Der CTE besitzt einen Graphikeditor, der speziell zum Zeichnen von Klassifikationsbäumen gedacht ist. Beispielsweise berücksichtigt der CTE die vorgeschriebene Abfolge von Klassifikation bzw. Komposition und Klasse und schlägt beim Zeichnen das jeweils passende Baumelement vor. Die Testfallspezifikationen werden in der Kombinationstabelle angelegt und durch den CTE verwaltet. Sie können in Testsequenzen zusammengefasst werden, die zur Beschreibung von dynamischen Abläufen benötigt werden. Zur Dokumentation können von CTE Reports in Excel, Word oder als Textdatei erzeugt werden. Zum Unit-Test-Werkzeug Tessy können die erstellten Testfälle direkt exportiert werden.

Vorteile der Klassifikationsbaummethode

Visualisierung der Testideen

Ein wesentlicher Vorteil der Klassifikationsbaummethode 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

Hat man einen sorgfältig erarbeiteten Baum und wohlüberlegte Testfallspezifikationen erstellt, gibt es eine große Wahrscheinlichkeit dafür, dass man die meisten oder vielleicht sogar fast alle Fehler finden wird

Reduziert die Komplexität

Beim ersten Nachdenken über die notwendigen Testfälle für ein bestimmtes Problem hat man zumeist zahlreiche Einfälle und Ideen. Die Herausforderung besteht eher darin, die Einfälle zu strukturieren und redundante Testfälle zu erkennen. Die Klassifikationsbaummethode reduziert die in dieser Aufgabe liegende Komplexität, denn sie erlaubt, einzelne Aspekte (Klassifikationen) isoliert zu betrachten und sich gezielt Gedanken über die nötigen (und unnötigen!) Äquivalenzklassen zu machen.

Überprüft die Spezifikation

Der erste Schritt der Klassifikationsbaummethode ist die Analyse der Problemspezifikation. Dies erzwingt automatisch die Überprüfung der Spezifikation auf Auslassungen, Widersprüche und Unklarheiten.

Abschätzung des Testaufwands

Schon aus dem Klassifikationsbaum kann man gewisse Maße ermitteln, z.B. die minimale Anzahl von Testfällen für einen gegebenen Baum. Diese und andere Maße werden durch das Werkzeug CTE ermittelt.

Nachteile der Klassifikationsbaummethode

Das Erstellen von guten Klassifikationsbäumen wird durch die Vermischung unterschiedlicher Aspekte erschwert. Während bei der Äquivalenzklassenmethode und der Grenzwertanalyse zunächst jede Größe für die Zerlegung in relevante Bereiche allein betrachtet wird und erst in einem zweiten Schritt Abhängigkeiten zwischen Größen betrachtet werden, müssen beide Schritte im Sinn der Klassifikationsbaummethode zusammen erfolgen. Dies ist notwendig, da die Baumstruktur wesentlich von Abhängigkeiten zwischen Größen beeinflusst wird.

Kritik an der Klassifikationsbaummethode

Klassifikationsbäume sind Übersichtlich bei einer begrenzten Anzahl von Klassifikationen, Äquivalenzklassen und Testfällen. Bei großen Klassifikationsbäumen ist es schwierig die Übersicht zu behalten.

Siehe auch

Literatur

  • M. Grochtmann/K.Grimm: Classification Trees For Partition testing, Software testing, Verification & Reliability, Volume 3, Number 2, Wiley 1993, S. 63–82.
  • Klaus Grimm: Systematisches Testen von Software: Eine neue Methode und eine effektive Teststrategie, München/Wien/Oldenburg 1995, GMD-Berichte Nr. 251.
  • Balcer/Ostrand: The category-partition method for specifying and generating functional tests, Communications of the ACM Volume 31, Nummer 6, 1988, S. 676ff.

Einzelnachweise

  1. Vgl. S. Lützkendorf/K. Bothe: Attributierte Klassifikationsbäume zur Testdatenbestimmung, in: Softwaretechnik-Trends 23(1), 2003.
  2. Vgl. Dai/Deussen/Busch/Lacmene/Ngwangwen: Automatic Test Data Generation for TTCN-3 using CTE, [1].
  3. Lehmann, TPT - Dissertation, 2003

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Klassifikationsbaum — Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidungen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung bedingter… …   Deutsch Wikipedia

  • Klassifikationsbaummethode — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Die Klassifikationsbaummethode (englisch classification tree… …   Deutsch Wikipedia

  • Blackbox-Test — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Black Box Test bezeichnet eine Methode des Softwaretests, bei der… …   Deutsch Wikipedia

  • Blackboxtest — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Black Box Test bezeichnet eine Methode des Softwaretests, bei der… …   Deutsch Wikipedia

  • Entscheidungsmodell — Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidungen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung bedingter… …   Deutsch Wikipedia

  • Regression Tree — Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidungen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung bedingter… …   Deutsch Wikipedia

  • Wahrscheinlichkeitsbaum — Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidungen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung bedingter… …   Deutsch Wikipedia

  • Entscheidungsbaum — Entscheidungsbäume sind geordnete, gerichtete Bäume, die der Darstellung von Entscheidungsregeln dienen. Sie veranschaulichen hierarchisch, aufeinanderfolgende Entscheidungen. Sie haben eine Bedeutung in zahlreichen Bereichen, in denen… …   Deutsch Wikipedia

  • TPT (logiciel) — Time Partition Testing (TPT) …   Wikipédia en Français

  • Black-Box-Test — bezeichnet eine Methode des Softwaretests, bei der die Tests ohne Kenntnisse über die innere Funktionsweise des zu testenden Systems entwickelt werden. Er beschränkt sich auf funktionsorientiertes Testen, d. h. für die Ermittlung der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”