4. Testentwurfsverfahren Flashcards
Testentwicklungsverfahren
- Testanalyse
- Testentwurf
- Testimplementierung
- Testausführungsplan
Testbedingung
Während der Testanalyse werden die dem Test zugrunde liegenden Dokumente analysiert, um festzustellen, was getestet werden muss, d.h. die Testbedingungen festzulegen.
Eine Testbedingung ist definiert als eine Einheit oder ein Ereignis, z.B.
- eine Funktion,
- eine Transaktion,
- ein Qualitätsmerkmal oder
- ein strukturelles Element,
das durch einen oder mehrere Testfälle verifiziert werden kann.
Indem Testbedingungen auf Spezifikationen und Anforderungen zurückgeführt werden, erlauben sie sowohl eine effektive Auswirkungsanalyse (impact analysis) bei geänderten Anforderungen als auch die Bestimmung einer Anforderungsüberdeckung, bezogen auf eine bestimmte Menge von Tests.
Testentwurf
Während des Testentwurfs werden die Testfälle und Testdaten definiert und dokumentiert.
Ein Testfall besteht aus
- einer Menge von Eingabewerten
- den für die Ausführung notwendigen Vorbedingungen,
- der Menge der vorausgesagten Ergebnisse und
- den erwarteten Nachbedingungen,
definiert mit dem Ziel, ein oder mehrere Testziele oder Testbedingungen abzudecken.
IEEE Standard 829-1998
Der IEEE Standard 829-1998 (‘Standard for Software Test Documentation’) beschreibt die Inhalte von Testentwurfsspezifikationen (inkl.Testbedingungen) und Testfallspezifikationen.
Erwartete Ergebnisse
Erwartete Ergebnisse sollten im Rahmen der Spezifikation eines Testfalls ermittelt werden, und Ausgaben, Änderungen von Daten und Zuständen sowie alle anderen Folgen des Tests enthalten.
Falls die erwarteten Ergebnisse nicht definiert wurden, könnte ein plausibles, aber fehlerhaftes Ergebnis fälschlicherweise als richtig angesehen werden.
Testimplementierung
Während der Testimplementierung werden die Testfälle entwickelt, implementiert, priorisiert und in einer Testablaufspezifikation (Drehbuch oder Testskript) zusammengefasst (IEEE STD 829-1998).
Das Testdrehbuch legt die Reihenfolge der Aktionen für die Ausführung eines Tests fest.
Wenn Tests unter Verwendung eines Testausführungswerkzeugs durchgeführt werden, ist die Reihenfolge der Aktionen in einem Testskript festgelegt (in einem automatisierten Testszenario).
Testausführungsplan
Die verschiedenen manuellen und automatisierten Testskripte werden anschließend in einem Testausführungsplan zusammengestellt, der die Reihenfolge festlegt, in der die verschiedenen Testszenarios (und gegebenenfalls die automatisierten Testskripte) ausgeführt werden.
Der Testausführungsplan berücksichtigt Faktoren wie
- Regressionstests,
- Priorisierung und
- logische Abhängigkeiten.
Testentwurfsverfahren
Das Ziel von Testentwurfsverfahren ist es,
- Testbedingungen,
- Testfälle und
- Testdaten
zu ermitteln.
Ein klassischer Ansatz unterscheidet Testentwurfsverfahren in Black-Box- oder White-Box-Verfahren.
Dieser Lehrplan bezeichnet spezifikationsorientierte Testentwurfsverfahren als Black-Box-Verfahren, und strukturbasierte Testentwurfsverfahren als White-Box-Verfahren. Zusätzlich werden die erfahrungsbasierten Testentwurfsverfahren abgedeckt.
Black-Box-Verfahren
Black-Box-Verfahren (die auch spezifikationsorientierte Verfahren genannt werden) stellen einen Weg dar, Testbedingungen, Testfälle oder Testdaten für eine Komponente oder ein System aufgrund der Analyse der zugrunde liegenden Dokumentation der Testbasis abzuleiten und auszuwählen.
Diesumfasst funktionales und nicht-funktionales Testen.
Black-Box-Testverfahren verwenden per Definition keine Informationen über die interne Struktur der Komponente oder des Systems, welches zu testen
ist.
White-Box-Verfahren
White-Box-Verfahren (auch strukturelle oder strukturbasierte Verfahren) stützen sich auf eine Analyse der Struktur einer Komponente oder eines Systems.
Gemeinsame Merkmale der
spezifikationsorientierten Testentwurfsverfahren
- Modelle, ob formal oder nicht formal, werden zur Spezifikation des zu lösenden Problems, der Software oder ihrer Komponente herangezogen.
- Testfälle können systematisch von diesen Modellen abgeleitet werden.
Gemeinsame Merkmale
der strukturbasierten Testentwurfsverfahren
- Informationen über den Aufbau der Software werden für die Ableitung von Testfällen verwendet, beispielsweise der Code und Informationen des Detailentwurfs (detailed design).
- Der Überdeckungsgrad der Software kann für vorhandene Testfälle gemessen werden.
- Weitere Testfälle können zur Erhöhung des Überdeckungsgrads systematisch abgeleitet werden.
Gemeinsame Merkmale
der erfahrungsbasierten Testentwurfsverfahren
- Das Wissen und die Erfahrung von Menschen wird zur Ableitung der Testfälle genutzt.
- Das Wissen von Testern, Entwicklern, Anwendern und Betroffenen über die Software, ihre Verwendung und ihre Umgebung ist eine Informationsquelle.
- Das Wissen über wahrscheinliche Fehlerzustände und ihre Verteilung ist eine weitere Informationsquelle.
Spezifikationsorientierte
oder
Black-Box Verfahren
- Äquivalenzklassenbildung
- Grenzwertanalyse
- Entscheidungstabellentest
- Zustandsbasierter Test
- Anwendungsfallbasierter Test
Äquivalenzklassenbildung
Bei der Äquivalenzklassenbildung werden Eingabewerte(gültige und ungültige) für die Software oder das System in Gruppen eingeteilt, bei denen man von einem ähnlichen Verhalten ausgeht, so dass es wahrscheinlich ist, dass sie auf dieselbe Weise verarbeitet werden.
- Ausgabewerte,
- interne Werte,
- Benutzereingaben
- zeitbezogene Werte (d.h. vor oder nach einem Ereignis) und
- für Schnittstellenparameter(d.h. integrierte Komponenten, die beim Integrationstest getestet werden)
Äquivalenzklassenbildung kann in allen Teststufen angewandt werden.
Das Ziel ist, durch Bildung von Äquivalenzklassen eine hohe Fehlerentdeckungswahrscheinlichkeit bei minimaler Anzahl von Testfällen zu erreichen.
Äquivalenzklassenbildung kann eingesetzt werden, um Überdeckungsziele in Bezug auf Eingabe oder Ausgabewerte zu erreichen.