IT-Übungen

Anforderungen & Analyse

Unklare Anforderungen, User Stories, Given/When/Then, Bug-Reports, Priorisierung.

Lesestand

  1. Schnell ist kein Maß ★☆☆ Anforderungen · Messbarkeit

    Anforderung: „Die Suche soll schnell reagieren.“

    Was ist das Hauptproblem dieser Anforderung?

    Lösung anzeigen

    Richtig: Sie ist nicht messbar, es fehlt ein konkreter Zielwert

    „Schnell“ bedeutet für jeden etwas anderes. Ohne Zahl kann kein Test bestehen oder scheitern. Erst „unter 2 Sekunden“ macht daraus etwas Prüfbares.

  2. Performance richtig formulieren ★★☆ Anforderungen · Nicht-funktional

    Die Anforderung „Die Suche soll schnell reagieren“ soll prüfbar werden.

    Welche Formulierung ist am besten testbar?

    Lösung anzeigen

    Richtig: 95 % der Suchanfragen werden bei 500 gleichzeitigen Nutzern in unter 2 Sekunden beantwortet

    Eine gute Performance-Anforderung nennt Zielwert, Anteil (Perzentil) und Lastbedingung. „Unter 2 Sekunden“ allein lässt offen, ob das für einen Nutzer im leeren System oder unter Volllast gilt, und ob ein einziger Ausreißer schon ein Fehler ist.

  3. Mehrdeutige Grenze ★☆☆ Anforderungen · Mehrdeutigkeit

    Anforderung: „Der Nutzer kann bis zu 5 Dateien mit maximal 10 MB hochladen.“

    Welche Frage muss vor dem Testen geklärt werden?

    Lösung anzeigen

    Richtig: Gelten die 10 MB pro Datei oder für alle Dateien zusammen?

    Beide Lesarten sind plausibel und führen zu völlig anderen Testfällen (5 × 10 MB = 50 MB erlaubt oder nicht). Mehrdeutigkeiten früh zu finden ist einer der günstigsten Wege, Fehler zu vermeiden. Zusatzfrage für Grenzwerte: Sind 10 MB = 10.000.000 oder 10.485.760 Bytes?

  4. Die wichtigste Rückfrage ★★☆ User Stories · Klärung

    User Story: „Als Kunde möchte ich mein Passwort zurücksetzen können, damit ich wieder Zugang zu meinem Konto bekomme.“

    Welche Rückfrage deckt die meisten fehlenden Testfälle auf?

    Lösung anzeigen

    Richtig: Wie lange ist der Link gültig, und was passiert bei einer unbekannten E-Mail-Adresse?

    Gültigkeitsdauer und unbekannte Adressen betreffen Sicherheit und Fehlerfälle. Daraus folgen gleich mehrere Tests: abgelaufener Link, Link zweimal benutzt, unbekannte Adresse (ohne zu verraten, ob es das Konto gibt). Textdetails sind wichtig, aber nicht kritisch.

  5. Given/When/Then ★☆☆ Akzeptanzkriterien · BDD

    Ein Akzeptanzkriterium für den Warenkorb soll im Given/When/Then-Format geschrieben werden.

    Welche Formulierung ist korrekt aufgebaut?

    Lösung anzeigen

    Richtig: Given ein leerer Warenkorb, When ich einen Artikel für 20 € hinzufüge, Then beträgt die Summe 20 €

    Given beschreibt den Ausgangszustand, When die eine auslösende Aktion, Then das beobachtbare Ergebnis. In den falschen Varianten sind die Rollen vertauscht: Aktionen stehen im Given oder Then, Ergebnisse im When.

  6. Then beschreibt Verhalten ★★☆ Akzeptanzkriterien · BDD

    Akzeptanzkriterium: Given ein Nutzer hat 3 falsche Passwörter eingegeben When er ein viertes falsches Passwort eingibt Then wird in der Tabelle users das Feld locked auf 1 gesetzt

    Was ist an diesem Kriterium problematisch?

    Lösung anzeigen

    Richtig: Then beschreibt die Implementierung statt des sichtbaren Verhaltens

    Akzeptanzkriterien sollen beschreiben, was der Nutzer oder das System von außen erlebt, z. B. „Then erscheint die Meldung, dass das Konto gesperrt ist, und auch das richtige Passwort wird abgelehnt“. Ändert sich das Datenbankschema, bliebe das Kriterium sonst falsch, obwohl das Verhalten stimmt.

  7. Nicht testbares Kriterium ★☆☆ Akzeptanzkriterien · Messbarkeit

    Mehrere Akzeptanzkriterien für ein neues Formular.

    Welches Kriterium ist so nicht testbar?

    Lösung anzeigen

    Richtig: Das Formular soll benutzerfreundlich sein

    „Benutzerfreundlich“ ist ein Ziel, kein Kriterium. Prüfbar wird es erst über konkrete Merkmale, wie sie in den anderen drei Antworten stehen, oder über messbare Werte (z. B. 8 von 10 Testpersonen schaffen das Formular ohne Hilfe in unter 2 Minuten).

  8. INVEST: zu groß ★★☆ User Stories · INVEST

    User Story: „Als Händler möchte ich ein komplettes Bestellsystem mit Lager, Versand, Rechnung und Retouren.“

    Welches INVEST-Kriterium ist am deutlichsten verletzt?

    Lösung anzeigen

    Richtig: Small – die Story ist viel zu groß für einen Sprint

    INVEST steht für Independent, Negotiable, Valuable, Estimable, Small, Testable. Hier stecken mindestens vier Stories in einer. Das ist kaum schätzbar und nicht in einem Sprint testbar. Aufteilen, z. B. „Als Händler möchte ich eine Retoure erfassen …“.

  9. Widersprüchliche Anforderungen ★★★ Anforderungen · Widersprüche

    Anforderung A: „Löscht ein Kunde sein Konto, werden alle seine Daten sofort entfernt.“ Anforderung B: „Rechnungen müssen 10 Jahre lang inklusive Kundenname und Adresse aufbewahrt werden.“

    Wie sollte man als Tester reagieren?

    Lösung anzeigen

    Richtig: Den Widerspruch melden und vor dem Testen klären lassen

    Beide Anforderungen können nicht gleichzeitig erfüllt sein. Welche Lösung richtig ist (z. B. Daten sperren statt löschen), entscheidet nicht der Tester, sondern Fachbereich und gegebenenfalls Datenschutz. Ein gefundener Widerspruch vor der Entwicklung ist einer der wertvollsten Beiträge der QA.

  10. Implizite Anforderung ★★☆ Anforderungen · Implizites Wissen

    In einem Formular gibt es ein Feld „Geburtsdatum“. Die Spezifikation sagt nur: „Pflichtfeld, Format TT.MM.JJJJ.“

    Welche nicht ausdrücklich genannte Anforderung sollte man trotzdem testen?

    Lösung anzeigen

    Richtig: Ein Datum in der Zukunft wird abgelehnt

    Implizite Anforderungen sind die, die jeder für selbstverständlich hält und deshalb niemand aufschreibt. Weitere Kandidaten: 31.02. ablehnen, 29.02. nur in Schaltjahren, unrealistisch alte Daten. Am besten fragt man nach und lässt sie ergänzen.

  11. Bug-Report: das Wichtigste fehlt ★☆☆ Bug-Reports

    Bug-Report: Titel: Login geht nicht Beschreibung: Kann mich nicht einloggen. Bitte schnell fixen!

    Was fehlt am dringendsten?

    Lösung anzeigen

    Richtig: Schritte zur Reproduktion sowie erwartetes und tatsächliches Ergebnis

    Ohne Schritte, Testdaten und Ergebnis (z. B. „Meldung ‚Unbekannter Fehler‘ statt Weiterleitung zum Dashboard“) kann niemand den Fehler nachstellen. Dazu gehören Umgebung (Browser, Version, Testsystem) und der verwendete Benutzer.

  12. Schwere und Priorität I ★★☆ Bug-Reports · Priorisierung

    Auf der Startseite steht im Firmennamen ein Tippfehler. Morgen wird die Seite auf einer großen Messe vorgeführt.

    Wie sind Schwere (Severity) und Priorität einzuordnen?

    Lösung anzeigen

    Richtig: Niedrige Schwere, hohe Priorität

    Die Schwere beschreibt die technische Auswirkung: Hier funktioniert alles, es ist nur ein Text. Die Priorität beschreibt, wie dringend es behoben werden muss: wegen der Messe sehr. Die beiden Werte sind unabhängig voneinander und werden oft verwechselt.

  13. Schwere und Priorität II ★★☆ Bug-Reports · Priorisierung

    Der Export in ein veraltetes Dateiformat bringt die Anwendung zum Absturz. Die Funktion nutzt nur ein Kunde einmal im Jahr, und es gibt einen einfachen Ausweg über ein anderes Format.

    Wie sind Schwere und Priorität einzuordnen?

    Lösung anzeigen

    Richtig: Hohe Schwere, niedrige Priorität

    Ein Absturz ist technisch schwerwiegend. Weil kaum jemand betroffen ist und ein Workaround existiert, kann die Behebung aber warten. Das Gegenstück zur vorherigen Aufgabe.

  14. Guter Bug-Titel ★☆☆ Bug-Reports

    Im Warenkorb kann man die Menge auf 0 setzen. Dann wird der Gesamtpreis negativ angezeigt.

    Welcher Titel ist am besten?

    Lösung anzeigen

    Richtig: Warenkorb: Menge 0 führt zu negativem Gesamtpreis

    Ein guter Titel nennt Bereich, Auslöser und Auswirkung. Man findet ihn später in der Suche wieder und erkennt Duplikate. Ausrufezeichen und allgemeine Wörter wie „kaputt“ helfen niemandem.

  15. Sporadischer Fehler ★★★ Bug-Reports · Debugging

    Ein Fehler tritt nur gelegentlich auf: Etwa jede zehnte Bestellung bleibt im Status „In Bearbeitung“ hängen. Nachstellen ließ er sich bisher nicht.

    Welche Angaben helfen der Entwicklung am meisten?

    Lösung anzeigen

    Richtig: Genaue Zeitpunkte, betroffene Bestellnummern, Logauszüge und die beobachtete Häufigkeit

    Bei sporadischen Fehlern ersetzen Daten die fehlende Reproduzierbarkeit: Mit Zeitpunkt und Bestellnummer findet man die passenden Logs, mit der Häufigkeit lässt sich ein Fix überprüfen. Häufige Ursachen solcher Muster sind Nebenläufigkeit, Timeouts oder Lastspitzen.

  16. Rückverfolgbarkeit ★★☆ Traceability · Testmanagement

    Eine Anforderung zur Rabattberechnung wurde geändert. Das Testteam hat rund 800 Testfälle.

    Wie findet man am schnellsten die Testfälle, die angepasst werden müssen?

    Lösung anzeigen

    Richtig: Über die Verknüpfung von Anforderungen und Testfällen (Traceability-Matrix)

    Sind Testfälle mit den Anforderungen verknüpft, zeigt ein Blick, welche Tests betroffen sind, und umgekehrt, welche Anforderungen noch gar keinen Test haben. Die Titelsuche übersieht Tests, in denen Rabatte nur am Rande vorkommen.

  17. Umfang des Regressionstests ★★★ Regressionstests · Risikoanalyse

    Eine zentrale Hilfsklasse zur Datumsformatierung wurde geändert. Sie wird in Rechnungen, Berichten, im Kalender und in der Benutzerverwaltung verwendet.

    Welcher Regressionsansatz ist angemessen?

    Lösung anzeigen

    Richtig: Alle Funktionen testen, die die Hilfsklasse nutzen, mit Schwerpunkt auf Grenzfällen wie dem Jahreswechsel

    Je zentraler eine Komponente, desto größer der Wirkungsbereich einer Änderung. Rechnungen mit falschem Datum können rechtliche Folgen haben. Grenzfälle wie Silvester, Schaltjahre und Zeitzonen sind bei Datumslogik die typischen Fehlerquellen.

  18. Muss, soll, kann ★☆☆ Anforderungen · Sprache

    In einem Lastenheft finden sich die Formulierungen „muss“, „sollte“ und „kann“.

    Welches Wort kennzeichnet eine verbindliche Anforderung?

    Lösung anzeigen

    Richtig: muss

    „Muss“ ist verpflichtend, „sollte“ eine dringende Empfehlung, von der man begründet abweichen darf, „kann“ ist optional. Verwechselt man das, wird entweder zu viel gebaut oder es fehlt Pflichtumfang. Im Englischen sind die Begriffe (MUST, SHOULD, MAY) sogar genormt (RFC 2119).

  19. Vergessenes Negativszenario ★★☆ Negativtests · User Stories

    User Story: „Als Kunde möchte ich einen Gutscheincode einlösen, um Rabatt zu erhalten.“ Getestet wurde: gültiger Code wird angenommen, unbekannter Code wird abgelehnt.

    Welcher Testfall fehlt und wird in der Praxis besonders oft vergessen?

    Lösung anzeigen

    Richtig: Einen bereits eingelösten Gutschein ein zweites Mal einlösen

    Mehrfacheinlösung kostet direkt Geld und wird oft übersehen, gerade wenn zwei Bestellungen parallel abgeschickt werden. Weitere Kandidaten: abgelaufener Gutschein, Mindestbestellwert nicht erreicht, zwei Gutscheine kombinieren.

  20. Akzeptanzkriterien und Definition of Done ★★☆ Agile · Qualitätskriterien

    Im Team wird diskutiert, ob „Code wurde reviewt und alle automatisierten Tests laufen grün“ ein Akzeptanzkriterium ist.

    Was ist der Unterschied zwischen Akzeptanzkriterien und Definition of Done?

    Lösung anzeigen

    Richtig: Akzeptanzkriterien gelten für eine einzelne Story, die Definition of Done für jede Story

    Akzeptanzkriterien beschreiben das fachliche Verhalten genau dieser Story. Die Definition of Done ist der allgemeine Qualitätsstandard des Teams (Review, Tests, Dokumentation). Das genannte Beispiel gehört also in die Definition of Done.