Kapitel 1: Grundlagen des Testens Flashcards
Was ist der Zweck des Softwaretestens?
- Fehlerzustände entdecken
- die Qualität der Software evaluieren
Was ist der Unterschied zwischen Testen und Debugging?
Testen identifiziert Fehlerwirkungen, während Debugging die Fehlerursachen findet und behebt.
Warum ist Testen notwendig?
Um Fehlerzustände zu erkennen und die Qualität von Software zu sichern, sowie um gesetzliche und regulatorische Anforderungen zu erfüllen.
Was sind die sieben Grundsätze des Testens?
- Testen zeigt das Vorhandensein, nicht die Abwesenheit von Fehlern.
- Vollständiges Testen ist unmöglich.
- Frühes Testen spart Zeit und Geld.
- Fehlerzustände treten gehäuft auf.
- Tests nutzen sich ab.
- Testen ist kontextabhängig.
- Keine Fehler bedeutet nicht, dass das System brauchbar ist.
Was ist eine Fehlhandlung?
Eine menschliche Aktion, die zu einem Fehlerzustand in einem Softwareprodukt führt.
Welche zwei Hauptrollen gibt es im Testen?
Die Rolle des Testmanagements und die Rolle des Testens.
Was ist eine Fehlerwirkung?
Das beobachtbare Fehlverhalten einer Software aufgrund eines Fehlerzustands.
Was ist eine Testbedingung?
Ein zu testender Aspekt des Systems, z.B. eine Funktion, Transaktion, oder Eigenschaft.
Was bedeutet Überdeckung im Testen?
Der Anteil der Testbasis, der durch die ausgeführten Tests abgedeckt wurde.
Was ist Verifizierung im Testen?
Das Prüfen, ob ein Produkt seine spezifizierten Anforderungen erfüllt.
Was ist Validierung im Testen?
Das Prüfen, ob das Produkt die Bedürfnisse und Anforderungen der Benutzer erfüllt.
Warum sind Software Tests sinnvoll?
- Softwaretests bewerten die Qualität der Software
- helfen, das Risiko einer
Fehlerwirkung im Betrieb zu verringern.
Was sind die Ziele des Testens?
- Evaluieren von Arbeitsergebnissen wie Anforderungen, User Storys, Entwürfe und
Code - Auslösen von Fehlerwirkungen und Finden von Fehlerzuständen
- Sicherstellen der erforderlichen Überdeckung eines Testobjekts
- Verringern des Risikos einer unzureichenden Softwarequalität
- Verifizieren, ob spezifizierte Anforderungen erfüllt wurden
- Verifizieren, ob ein Testobjekt den vertraglichen, rechtlichen und regulatorischen
Anforderungen entspricht - Bereitstellen von Informationen für die Stakeholder, damit diese fundierten
Entscheidungen treffen können - Aufbauen von Vertrauen in die Qualität des Testobjekts
- Validieren, ob das Testobjekt vollständig ist und aus Sicht der Stakeholder wie erwartet
funktioniert.
Worum geht es beim debuggen?
Die Ursache für Fehlerwirkungen zu finden, diese zu analysieren und zu beseitigen.
Was umfasst der typische Debugging-Prozess?
- Reproduzieren einer Fehlerwirkung
- Diagnose (Befund der Grundursache)
- Behebung der Ursache
Was ist ein statischer Test?
Bei statischen Tests wird die Software nicht ausgeführt. Stattdessen werden Dokumente, der Code oder andere Materialien überprüft, um Fehler zu finden. Das kann durch Reviews oder Analysen geschehen.