Zum Inhalt springen
← Alle CTFL-Lernziele

CTFL 1.5.3: Die Vor- und Nachteile des unabhängigen Testens unterscheiden

K2

Lehrplanabschnitt 1.5.3

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

Übungsfragen

Frage 1

Welches der folgenden ist ein möglicher NACHTEIL eines hohen Grades an Unabhängigkeit des Testens?

  1. Tester erkennen möglicherweise andere Arten von Fehlerwirkungen als Entwickler
  2. Tester überprüfen möglicherweise Annahmen, die während der Spezifikation gemacht wurden
  3. Tester können vom Entwicklungsteam isoliert werden, was Probleme bei Zusammenarbeit und Kommunikation verursacht
  4. Tester hinterfragen möglicherweise die Anforderungen des Projekts wirksamer
Antwort anzeigen
  • Tester erkennen möglicherweise andere Arten von Fehlerwirkungen als EntwicklerAndere Arten von Fehlerwirkungen zu erkennen ist ein Vorteil der Unabhängigkeit, kein Nachteil.
  • Tester überprüfen möglicherweise Annahmen, die während der Spezifikation gemacht wurdenWährend der Spezifikation gemachte Annahmen zu überprüfen ist ein Vorteil der Unabhängigkeit, kein Nachteil.
  • Richtige Antwort: Tester können vom Entwicklungsteam isoliert werden, was Probleme bei Zusammenarbeit und Kommunikation verursachtUnabhängige Tester können isoliert werden, was Kommunikations- und Zusammenarbeitsprobleme verursacht.
  • Tester hinterfragen möglicherweise die Anforderungen des Projekts wirksamerDie Anforderungen wirksamer zu hinterfragen ist ein Vorteil der Unabhängigkeit, kein Nachteil.

Unabhängigkeit bringt Vorteile wie das Erkennen anderer Fehlerwirkungen und das Hinterfragen von Annahmen, aber zu den Nachteilen gehören mögliche Isolation vom Entwicklungsteam, Kommunikationsprobleme und dass Entwickler sich weniger für die Qualität verantwortlich fühlen.

Lehrplanabschnitt 1.5.3

Frage 2

Ein Projekt plant, das gesamte Testen von den Entwicklern zu einer separaten externen Testorganisation zu verlagern. Welche Beurteilung gibt den beschriebenen Zielkonflikt beim unabhängigen Testen am besten wieder?

  1. Externe Tester sollten Entwickler ersetzen, weil sehr hohe Unabhängigkeit jeden von Entwicklern übersehenen Fehlerzustand findet
  2. Externe Tester können andere Annahmen hinterfragen, doch die Nähe der Entwickler zum System bleibt wertvoll, sodass mehrere Unabhängigkeitsstufen meist vorzuziehen sind
  3. Entwickler sollten allein testen, weil Systemnähe denselben Nutzen wie eine unabhängige Perspektive bietet
  4. Kollegen aus demselben Team bieten sehr hohe Unabhängigkeit, sodass Externe keine andere Perspektive beitragen
Antwort anzeigen
  • Externe Tester sollten Entwickler ersetzen, weil sehr hohe Unabhängigkeit jeden von Entwicklern übersehenen Fehlerzustand findetUnabhängigkeit ersetzt die Systemnähe der Entwickler nicht und garantiert nicht, jeden übersehenen Fehlerzustand zu finden.
  • Richtige Antwort: Externe Tester können andere Annahmen hinterfragen, doch die Nähe der Entwickler zum System bleibt wertvoll, sodass mehrere Unabhängigkeitsstufen meist vorzuziehen sindUnabhängige Perspektiven bringen Nutzen, die Systemnähe der Entwickler bleibt wertvoll, und mehrere Stufen sind meist am besten.
  • Entwickler sollten allein testen, weil Systemnähe denselben Nutzen wie eine unabhängige Perspektive bietetSystemnähe ist wertvoll, bietet aber nicht die andere Perspektive, auf der der Hauptnutzen der Unabhängigkeit beruht.
  • Kollegen aus demselben Team bieten sehr hohe Unabhängigkeit, sodass Externe keine andere Perspektive beitragenKollegen aus demselben Team bieten etwas, nicht sehr hohe Unabhängigkeit; Externe können eine andere Perspektive einbringen.

Unabhängige Tester können aufgrund anderer Hintergründe, technischer Perspektiven und Voreingenommenheiten andere Fehlerwirkungen und Fehlerzustände erkennen und Annahmen von Stakeholdern hinterfragen. Unabhängigkeit ersetzt jedoch nicht die Nähe zum System: Entwickler finden viele Fehlerzustände im eigenen Code effizient. Für die meisten Projekte ist Testen mit mehreren Unabhängigkeitsstufen daher meist am besten.

Lehrplanabschnitt 1.5.3

Frage 3

Eine Organisation verlagert den Systemtest vom Entwicklungsteam zu einem Testteam einer anderen Abteilung. Welche Aussage kombiniert einen Vorteil dieser erhöhten Unabhängigkeit mit einem Nachteil?

  1. Vorteil: Die Tester hinterfragen Annahmen der Stakeholder; Nachteil: Fehlerberichte brauchen länger
  2. Vorteil: Die Tester kennen den Code besser als dessen Autoren; Nachteil: Die Freigabe kann sich verzögern
  3. Vorteil: Die Tester erkennen andere Arten von Fehlerzuständen; Nachteil: Sie können isoliert vom Team sein
  4. Vorteil: Die Tester decken alle Teststufen allein ab; Nachteil: Sie gelten als Verzögerungsgrund
Antwort anzeigen
  • Vorteil: Die Tester hinterfragen Annahmen der Stakeholder; Nachteil: Fehlerberichte brauchen längerDer Vorteil stimmt, doch langsamere Fehlerberichte zählen nicht zu den genannten Nachteilen der Unabhängigkeit.
  • Vorteil: Die Tester kennen den Code besser als dessen Autoren; Nachteil: Die Freigabe kann sich verzögernUnabhängigkeit ist kein Ersatz für Nähe zum System — Entwickler finden viele Fehlerzustände im eigenen Code effizient.
  • Richtige Antwort: Vorteil: Die Tester erkennen andere Arten von Fehlerzuständen; Nachteil: Sie können isoliert vom Team seinUnterschiedliche Voreingenommenheit deckt andere Fehlerzustände auf, während das Testteam isoliert werden kann.
  • Vorteil: Die Tester decken alle Teststufen allein ab; Nachteil: Sie gelten als VerzögerungsgrundTesten erfolgt meist am besten mit mehreren Unabhängigkeitsstufen; ein Team für alle Teststufen ist kein Vorteil.

Der Hauptvorteil der Unabhängigkeit besteht darin, dass unabhängige Tester aufgrund ihres unterschiedlichen Hintergrunds, ihrer technischen Perspektive und der Voreingenommenheit wahrscheinlich andere Arten von Fehlerwirkungen und Fehlerzuständen erkennen als Entwickler; sie können zudem Annahmen der Stakeholder überprüfen, in Frage stellen oder widerlegen. Zu den Nachteilen zählen Isolation vom Entwicklungsteam mit mangelnder Zusammenarbeit, Kommunikationsproblemen oder einer gegnerischen Beziehung, ein sinkendes Verantwortungsgefühl der Entwickler für die Qualität sowie die Wahrnehmung als Engpass oder als Grund für Verzögerungen.

Lehrplanabschnitt 1.5.3

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