book-openBegriffe

Fehlerbegriff

chevron-rightFehlerhashtag

Ein Fehler ist eine NichterfĂĽllung einer festgelegten Anforderung; eine Abweichung zwischen dem Ist- und dem Soll-Verhalten.

chevron-rightFehlerwirkunghashtag

Die Fehlerwirkung (Failure) ist ein Ereignis, bei dem eine Komponente oder ein System eine geforderte Funktion nicht im spezifizierten Rahmen ausfĂĽhrt.

chevron-rightFehlerzustandhashtag

Der Fehlerzustand (Fault, Defect) ist ein Mangel in einem Arbeitsergebnis, der dazu fĂĽhrt, dass dieses seine Anforderungen oder Spezifikationen nicht erfĂĽllt.

chevron-rightFehlermaskierunghashtag

Fehlermaskierung liegt vor, wenn ein vorhandener Fehlerzustand durch andere Fehlerzustände im Testobjekt kompensiert wird, sodass dieser Fehlerzustand keine Fehlerwirkung hervorruft.

chevron-rightFehlerhandlunghashtag

Die Fehlhandlung (Error) ist die menschliche Handlung, die zu einem falschen Ergebnis fĂĽhrt.


chevron-rightFalsch positivhashtag

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.

chevron-rightFalsch negativhashtag

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

chevron-rightTestobjekthashtag

Das Testobjekt ist die Komponente oder das (Teil-)System, das getestet wird.

chevron-rightTestbasishashtag

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.

chevron-rightTestfallhashtag

Ein Testfall ist eine Menge von Vorbedingungen, Eingaben, Aktionen (falls anwendbar), vorausgesagten Ergebnissen und Nachbedingungen, die auf Basis von Testbedingungen entwickelt wurden.

chevron-rightTestlaufhashtag

Ein Testlauf ist die Ausführung eines oder mehrerer Testfälle mit einer bestimmten Version des Testobjekts.

chevron-rightTestbedingunghashtag

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.

chevron-rightTestelementhashtag

Ein Testelement ist das einzelne Element, das getestet wird, wobei gewöhnlich ein Testobjekt und viele Testelemente existieren.

chevron-rightTestsuitehashtag

Eine Testsuite ist eine Menge von Testfällen, gruppiert nach einem gemeinsamen Zweck oder einem Testziel, die in einem Testzyklus ausgeführt werden.

chevron-rightTestausfĂĽhrungsplanhashtag

Der TestausfĂĽhrungsplan ist ein Zeitplan fĂĽr die AusfĂĽhrung von Testsuiten innerhalb eines Testzyklus.

chevron-rightTestskripthashtag

Ein Testskript ist eine Abfolge von Anweisungen, die die Schritte zur DurchfĂĽhrung eines Tests festlegen.

chevron-rightTestprotokollhashtag

Ein Testprotokoll ist eine chronologische Aufzeichnung von Einzelheiten der Testausführung, einschliesslich der Ergebnisse der Testläufe.

chevron-rightTestkonzepthashtag

Das Testkonzept ist die Dokumentation der Testziele sowie der Massnahmen und der Zeitplanung, um diese zu erreichen, zum Zweck der Koordination von Testaktivitäten.

Drawing

Grundsätze des Testens

chevron-rightTesten zeigt die Anwesenheit von Fehlerzuständenhashtag

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.

chevron-rightVollständiges Testen ist nicht möglichhashtag

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.

chevron-rightFrĂĽhes Testen spart Zeit und Geldhashtag

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.

chevron-rightHäufung von Fehlerzuständenhashtag

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.

chevron-rightTestfälle «nutzen sich ab»hashtag

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.

chevron-rightTesten ist abhängig vom Kontexthashtag

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.

chevron-rightDas Fehlschlagen der Abwesenheit von Fehlerzuständen ist ein Irrtumhashtag

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