Zum Inhalt springen
← Alle CTFL-Lernziele

CTFL 1.1.2: Testen von Debugging unterscheiden

K2

Lehrplanabschnitt 1.1.2

3 eigene PrepBench-Übungsfragen zum Lernziel 1.1.2 des CTFL-Lehrplans 4.0. Probiere die Beispiele aus und überprüfe jede Antwort anhand der Lehrplanstelle.

Übungsfragen

Frage 1

Ein Tester führt einen Test durch, der fehlschlägt. Ein Entwickler reproduziert daraufhin das Problem, lokalisiert den fehlerhaften Code und behebt ihn. Welche Aussage beschreibt diese Aktivitäten korrekt?

  1. Sowohl die Aktivität des Testers als auch die des Entwicklers sind Testen
  2. Der Tester hat Debugging durchgeführt und der Entwickler einen Fehlernachtest
  3. Der Tester hat getestet; das Reproduzieren, Lokalisieren und Beheben des Fehlerzustands ist Debugging
  4. Beide Aktivitäten sind Debugging, weil ein Fehlerzustand beteiligt war
Antwort anzeigen
  • Sowohl die Aktivität des Testers als auch die des Entwicklers sind TestenDas Reproduzieren, Lokalisieren und Beheben durch den Entwickler ist Debugging, also sind nicht beide Aktivitäten Testen.
  • Der Tester hat Debugging durchgeführt und der Entwickler einen FehlernachtestDie Rollen sind vertauscht: Einen fehlschlagenden Test durchzuführen ist Testen, und die Ursache zu beheben ist Debugging.
  • Richtige Antwort: Der Tester hat getestet; das Reproduzieren, Lokalisieren und Beheben des Fehlerzustands ist DebuggingTests durchzuführen, um Fehlerwirkungen auszulösen, ist Testen; das Reproduzieren, Lokalisieren und Beheben der Ursache ist Debugging.
  • Beide Aktivitäten sind Debugging, weil ein Fehlerzustand beteiligt warDen Test durchzuführen, der die Fehlerwirkung offengelegt hat, ist Testen, nicht Debugging.

Testen löst Fehlerwirkungen aus und identifiziert Fehlerzustände, während Debugging die Entwicklungsaktivität des Reproduzierens einer Fehlerwirkung, der Diagnose (des Findens des Fehlerzustands) und der Behebung des Fehlerzustands ist. Nach der Behebung prüft ein Fehlernachtest, ob das Problem gelöst wurde.

Lehrplanabschnitt 1.1.2

Frage 2

Ein Tester und ein Entwickler bearbeiten einen fehlgeschlagenen nächtlichen Testlauf in dieser Reihenfolge: Schritt 1: Der Tester führt die Checkout-Testsuite aus, und die Bestellsumme ist falsch. Schritt 2: Der Entwickler stellt die falsche Summe auf einem lokalen Build nach. Schritt 3: Der Entwickler führt die falsche Summe auf die Steuerroutine zurück und korrigiert sie. Schritt 4: Der Tester führt den fehlgeschlagenen Test erneut aus, und er ist nun erfolgreich. Welche Schritte sind Debugging und nicht Testen?

  1. Nur die Schritte 2 und 3
  2. Nur die Schritte 1 und 2
  3. Die Schritte 2, 3 und 4
  4. Nur die Schritte 3 und 4
Antwort anzeigen
  • Richtige Antwort: Nur die Schritte 2 und 3Reproduktion, Diagnose und Behebung sind die Debugging-Schritte; die Schritte 1 und 4 sind Testen.
  • Nur die Schritte 1 und 2Schritt 1 ist der dynamische Test, der die Fehlerwirkung ausgelöst hat, und gehört daher nicht zum Debugging.
  • Die Schritte 2, 3 und 4Schritt 4 ist ein Fehlernachtest, der die Korrektur prüft; er folgt auf das Debugging, gehört aber nicht dazu.
  • Nur die Schritte 3 und 4Schritt 3 ist Debugging, aber Schritt 4 ist ein Fehlernachtest, und die Reproduktion in Schritt 2 fehlt hier.

Testen und Debugging sind getrennte Aktivitäten. Schritt 1 ist dynamischer Test, der eine Fehlerwirkung ausgelöst hat. Zum Debugging gehören dann das Reproduzieren der Fehlerwirkung (Schritt 2) sowie die Diagnose — den Fehlerzustand finden — und dessen Behebung (Schritt 3). Schritt 4 ist ein Fehlernachtest, der prüft, ob das Problem durch die Korrektur behoben wurde, und vorzugsweise von der Person durchgeführt wird, die den ersten Test durchgeführt hat.

Lehrplanabschnitt 1.1.2

Frage 3

Wie unterscheidet sich das Debugging, wenn ein Fehlerzustand durch statischen Test statt durch dynamischen Test gefunden wird?

  1. Statischer Test erfordert die Reproduktion einer Fehlerwirkung vor der Behebung
  2. Statischer Test benötigt einen längeren Diagnoseschritt als dynamischer Test
  3. Statischer Test löst zuerst eine Fehlerwirkung aus und lokalisiert dann den Fehlerzustand
  4. Es sind keine Reproduktion und keine Diagnose nötig, da der Fehlerzustand direkt gefunden wird
Antwort anzeigen
  • Statischer Test erfordert die Reproduktion einer Fehlerwirkung vor der BehebungStatischer Test findet Fehlerzustände direkt, daher ist keine Reproduktion einer Fehlerwirkung nötig.
  • Statischer Test benötigt einen längeren Diagnoseschritt als dynamischer TestStatischer Test benötigt keinen Diagnoseschritt; der Fehlerzustand wird direkt identifiziert.
  • Statischer Test löst zuerst eine Fehlerwirkung aus und lokalisiert dann den FehlerzustandStatischer Test löst keine Fehlerwirkungen aus; er findet Fehlerzustände ohne Ausführung der Software.
  • Richtige Antwort: Es sind keine Reproduktion und keine Diagnose nötig, da der Fehlerzustand direkt gefunden wirdFür statisch gefundene Fehlerzustände sind weder Reproduktion noch Diagnose nötig.

Wenn ein statischer Test einen Fehlerzustand identifiziert, geht es beim Debugging nur um dessen Beseitigung. Reproduktion oder Diagnose sind nicht erforderlich, da statische Tests Fehlerzustände direkt finden und keine Fehlerwirkungen auslösen können. Reproduktion und Diagnose gelten für Fehlerzustände, die über dynamische Fehlerwirkungen gefunden werden.

Lehrplanabschnitt 1.1.2

Eigenes PrepBench-Übungsmaterial, keine offiziellen Prüfungsfragen und keine Prüfungsdumps. PrepBench ist unabhängig und weder mit dem ISTQB® verbunden noch von ihm unterstützt.

Glossarbegriffe in diesem Kapitel