Begriffe
Fehlerbegriff
Fehler
Ein Fehler ist eine NichterfĂĽllung einer festgelegten Anforderung; eine Abweichung zwischen dem Ist- und dem Soll-Verhalten.
Fehlerwirkung
Die Fehlerwirkung (Failure) ist ein Ereignis, bei dem eine Komponente oder ein System eine geforderte Funktion nicht im spezifizierten Rahmen ausfĂĽhrt.
Fehlerzustand
Der Fehlerzustand (Fault, Defect) ist ein Mangel in einem Arbeitsergebnis, der dazu fĂĽhrt, dass dieses seine Anforderungen oder Spezifikationen nicht erfĂĽllt.
Fehlermaskierung
Fehlermaskierung liegt vor, wenn ein vorhandener Fehlerzustand durch andere Fehlerzustände im Testobjekt kompensiert wird, sodass dieser Fehlerzustand keine Fehlerwirkung hervorruft.
Fehlerhandlung
Die Fehlhandlung (Error) ist die menschliche Handlung, die zu einem falschen Ergebnis fĂĽhrt.
Falsch positiv
Ein falsch positives Ergebnis (false-positive result) tritt auf, wenn das Testergebnis eine Abweichung zwischen Ist- und Sollverhalten anzeigt, obwohl der Fehlerzustand bzw. die Ursache fĂĽr die Fehlerwirkung nicht im Testobjekt liegt.
Falsch negativ
Ein falsch negatives Ergebnis (false-negative result) liegt vor, wenn Fehlerwirkungen nicht auftreten, obwohl das Testobjekt fehlerhaft ist und der Testfall dies nicht anzeigt.
Testartefakte
Testbasis
Die Testbasis umfasst alle Dokumente und Informationen, die als Basis für die Testanalyse und den Testentwurf verwendet werden können und das Soll-Verhalten des Testobjekts festlegen.
Testfall
Ein Testfall ist eine Menge von Vorbedingungen, Eingaben, Aktionen (falls anwendbar), vorausgesagten Ergebnissen und Nachbedingungen, die auf Basis von Testbedingungen entwickelt wurden.
Testlauf
Ein Testlauf ist die Ausführung eines oder mehrerer Testfälle mit einer bestimmten Version des Testobjekts.
Testbedingung
Eine Testbedingung (Test Condition) ist ein aus der Testbasis abgeleiteter Aspekt, der für das Erreichen bestimmter Testziele relevant ist und durch ein oder mehrere Testfälle geprüft wird.
Testelement
Ein Testelement ist das einzelne Element, das getestet wird, wobei gewöhnlich ein Testobjekt und viele Testelemente existieren.
Testsuite
Eine Testsuite ist eine Menge von Testfällen, gruppiert nach einem gemeinsamen Zweck oder einem Testziel, die in einem Testzyklus ausgeführt werden.
TestausfĂĽhrungsplan
Der TestausfĂĽhrungsplan ist ein Zeitplan fĂĽr die AusfĂĽhrung von Testsuiten innerhalb eines Testzyklus.
Testskript
Ein Testskript ist eine Abfolge von Anweisungen, die die Schritte zur DurchfĂĽhrung eines Tests festlegen.
Testprotokoll
Ein Testprotokoll ist eine chronologische Aufzeichnung von Einzelheiten der Testausführung, einschliesslich der Ergebnisse der Testläufe.
Testkonzept
Das Testkonzept ist die Dokumentation der Testziele sowie der Massnahmen und der Zeitplanung, um diese zu erreichen, zum Zweck der Koordination von Testaktivitäten.
Grundsätze des Testens
Testen zeigt die Anwesenheit von Fehlerzuständen
Testen kann nur die Existenz von Fehlerzuständen nachweisen, jedoch niemals beweisen, dass keine Fehlerzustände mehr vorhanden sind.
Selbst wenn alle ausgeführten Tests keinen Fehler aufdecken, kann (ausser bei trivialen Programmen) nicht ausgeschlossen werden, dass zusätzliche Tests weitere Fehler aufzeigen würden.
Vollständiges Testen ist nicht möglich
Ein vollständiger Test, der alle möglichen Eingabewerte und deren Kombinationen unter Berücksichtigung aller Vor- und Randbedingungen ausführt, ist mit Ausnahme sehr trivialer Testobjekte nicht durchführbar.
Im Fallbeispiel der Fahrzeugkonfiguration resultieren 150'000 verschiedene Kombinationen, deren vollständiges Testen zeitlich nicht vertretbar ist.
FrĂĽhes Testen spart Zeit und Geld
Testaktivitäten sollen so früh wie möglich im Softwarelebenszyklus beginnen (auch als «Shift-Left» bezeichnet), da frühzeitig erkannte Fehlerzustände spätere, kostenintensive Änderungen reduzieren oder vermeiden.
Allein das Aufschreiben sinnvoller Tests und die Diskussion darĂĽber vor der Codierung hat in einem Projekt auf viele Probleme aufmerksam gemacht, lange bevor der erste Test ausgefĂĽhrt wurde.
Häufung von Fehlerzuständen
Die meisten Fehlerzustände finden sich in wenigen Komponenten oder Teilen eines Systems, da Fehlerzustände in der Regel nicht gleichmässig über das gesamte System verteilt sind.
Die beobachtete oder geschätzte Anhäufung von Fehlerzuständen in bestimmten Systemteilen kann zur Risikoanalyse genutzt werden, um den Testaufwand gezielt auf diese fehlerträchtigen Teile zu konzentrieren.
Testfälle «nutzen sich ab»
Wenn dieselben Tests wiederholt ausgeführt werden, ohne dass das System geändert wurde, hören sie auf, neue Fehlerzustände zu finden.
Diese Situation erfordert die ständige Anpassung und Ergänzung der Testfälle (z. B. durch neue Testdaten oder Verfahren), um die Wirksamkeit des Testens aufrechtzuerhalten.
Testen ist abhängig vom Kontext
Die Auswahl der Testvorgehensweisen, Techniken und des Testumfangs muss dem jeweiligen Kontext des zu testenden Systems entsprechen.
Bei einem Computerspiel bedeutet ein fehlerhaftes Speichern ein sehr hohes Risiko (Absatzverluste), wohingegen sicherheitskritische Systeme (z. B. in der Luftfahrt) gesetzlich aufwendige Testverfahren vorschreiben.
Das Fehlschlagen der Abwesenheit von Fehlerzuständen ist ein Irrtum
Das blosse Finden und Beheben vieler Fehlerzustände führt nicht automatisch dazu, dass das System nützlich und akzeptabel ist, wenn die Anforderungen selbst fehlerhaft oder unvollständig waren.
Wenn ein an sich fehlerfreies System von den Anwendern abgelehnt wird, weil es als «umständlich» empfunden wird, kann dies das Scheitern der gesamten Systemeinführung zur Folge haben, obwohl das System funktional in Ordnung ist.
Last updated