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.

Zuletzt aktualisiert