Funktionale Testmethode
aus www.iwiki.de, der freien Wissensdatenbank
Eine Funktionale Testmethode deckt Fehler in einem Programm auf. Dazu wird die Erfüllung der fachlichen Anforderungen überprüft. Die Testmethode besteht aus der Herleitung von Testfällen und deren Durchführung. Hierbei wird das Programm ohne Kenntnis des internen Aufbaus (Black-Box) in einer realen Umgebung ausgeführt.
Inhaltsverzeichnis |
Äquivalenzklassen - Methode
Die Grundidee der Äquivalenzklassen-Methode ist die Herleitung von Testfällen aus den spezifizierten Ein-/Ausgabebereichen (Maskenfelder, Parameterschnittstellen,...) eines Programms. Hierzu werden zunächst Bedingungen aufgestellt, die an Ein-/Ausgabebereiche zu stellen sind.
Im nächsten Schritt werden aus diesen Bedingungen Äquivalenzklassen abgeleitet. Eine Äquivalenzklasse ist eine Menge von Eingabekombinationen, die eine bestimmte Ein-/ oder Ausgabebedingung erfüllen.
Im letzten Schritt werden nun aus diesen Testfällen Äquivalenzklassen hergeleitet.
Grenzwertanalyse
Mit Hilfe der Grenzwertanalyse werden Testfälle hergeleitet, die besonders große und besonders kleine Werte (Grenzwerte) beinhalten. Bei Tests mit Grenzwerten ist die Wahrscheinlichkeit Fehler aufzufinden größer als bei Tests mit Normalwerten.
Ursache - Wirkungsgraph
Eine Herleitung von Testfällen mit Hilfe der Ursache - Wirkungsgraphen kann in folgenden Schritten erfolgen:
Schritt 1: Festlegung von Ursachen und Wirkungen
Hierbei sind Ursachen die Wahrheitswerte "Wahr" oder "Falsch". Diese werden ermittelt durch die Auswertung von Übergabeparametern oder eingegebenen Werten. Wirkungen sind beispielsweise Änderungen von Ausgabewerten oder Fehlermeldungen.
Schritt 2: Aufstellung eines Ursache-Wirkungsgraphen
Nachdem Ursachen und Wirkungen festgelegt wurden, wird ermittelt welche Kombinationen von Ursachen die festgelegten Wirkungen erzielen. Hierbei werden die Ursachen mit logischen AusdrĂĽcken verknĂĽpft. Diese logischen AusdrĂĽcke sind:
| Name | Bedeutung | Zeichen |
|---|---|---|
| Identität | gleich | |
| Verneinung | ungleich | |
| Disjunktion | oder | |
| Konjunktion | und |
Schritt 3: Überarbeitung des Graphen unter Berücksichtigung von Einschränkungen
Im nächsten Schritt werden Einschränkungen zwischen den Ursachen mit eingebaut. Die wichtigsten Einschränkungen sind die Exklusivität (e: höchstens eine Ursache kann zutreffen) und die Inklusivität (i: mindestens eine Ursache muss zutreffen).
Schritt 4: Ableitung einer Entscheidungstabelle
Aus dem Graphen wird einen Entscheidungstabelle abgeleitet, indem man zunächst eine Wirkung auswählt die den Wert „Wahr“ hat.
Anschließend bestimmt man durch Zurückverfolgung im Graphen alle Kombinationen von Ursachen, die diese Wirkung auf „Wahr“ setzen.
Daraufhin bildet man fĂĽr jede Ursachenkombination eine Entscheidungsregel.
Abschließend bestimmt man für jede Ursachenkombination die Zustände aller anderen Wirkungen und trägt sie in die Tabellenspalten ein.
Schritt 5: Herleitung von Testfällen
Jede Spalte der Entscheidungstabelle ergibt nun einen Testfall.
Zustandsbasierter Test
Mit Hilfe des zustandsbasierter Tests werden Testfälle methodisch hergeleitet. Hierbei wird berücksichtigt, dass das Verhalten der Software von einem Vorzustand abhängig ist. Um diese Zustände einer Software anschaulich darzustellen verwendet man entweder ein Zustands – Transitionsdiagramm oder eine Zustands-Übergangstabelle. Hieraus werden dann die Testfälle ermittelt.
Schnittstellenanalyse
Eine Schnittstellenanalyse ermittelt die Abhängigkeit von Programmtechnischen Einheiten. Hierbei wird für die einzelnen Programmteile überprüft von welche Programmteilen verwendete Parameter erhalten werden und welche Programmteile die ausgegebenen Parameter verwenden.
Festlegung der zu testenden Programmeinheiten
Es wird ermittelt welche Programmeinheiten wichtig sind und in den Test einbezogen werden sollten.
Bestimmung von Ein- und Ausgabedaten der Programmteile
Es werden fĂĽr jede Programmeinheit Ein- und Ausgabeparameter ermittelt.
Aufstellung einer Abhängigkeitstabelle
Eine Tabelle stellt alle programmeinheiten nebeneinander dar. Die Zeilen stehen fĂĽr die Parameter ein A bedeut Ausgabeparameter, ein E Eingabeparameter. Ist das Feld leer verwendet der Programmteil diesen Parameter nicht.
| Datenelement | P1 | P2 | P3 | P4 | P5 | P6 |
|---|---|---|---|---|---|---|
| a | A | E | ||||
| b | A | E | ||||
| c | A | E | ||||
| d | A | E | ||||
| e | A | E | ||||
| f | A | E |
Ableitung eines Testgraphen
In der Spalte mit dem ersten Programmteil werden aller Felder mit einem A gesucht. In den entsprechenden Zeilen wird nun jeweils nach einem E gesucht. Im Graphen werden nun zu allen Programmteilen mit einem E Verbindungslinien gezogen. Dies wird jeweils so lange durchgefĂĽhrt, bis ein Programmteil erreicht ist der keine Ausgabeparameter hat oder deren Ausgabeparameter nicht mehr von einem anderen verwendet werden. Programmteile werden in jedem Pfad jeweils einzeln dargestellt.
Herleitung von Testpfaden
Es wird nach so vielen Graphen gesucht, wie nötig sind, damit jede Anweisung im Graphen mindestens einmal ausgeführt wird.
Zusammenfassung
Die Funktionale Testmethode ist genauso wie die Dynamische Testmethode eine Art von Software-Test. Sie beinhaltet die Äquivalenzklassen - Methode, die Grenzwertanalyse, den Ursache - Wirkungsgraph, den Zustandsbasierten Test und die Schnittstellenanalyse.
Literatur
- Prof. Dr. Spielmann: Software Qualitätsmanagement. Stand: September 2005. Kapitel: Funktionale Testmethoden (FUN). S. 1-55. Fachhochschule Würzburg - Schweinfurt, Studiengang Wirtschaftsinformatik, Vorlesungsunterlagen

