Interviewfrage für QA Engineer

Deine automatisierte Suite fällt zufällig in etwa fünf Prozent der Läufe durch. Wie gehst du mit flaky Tests um?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Zuerst in Quarantäne, damit die Suite wieder vertrauenswürdig ist, dann die Grundursachen beheben statt sie mit Retries zu übertünchen. Die üblichen Ursachen sind Timing und Synchronisation (feste Sleeps, Races), geteilte oder übrig gebliebene Testdaten, Abhängigkeit von der Ausführungsreihenfolge und instabile Umgebungen. Behoben wird das, indem du auf Bedingungen statt auf Dauern wartest, Daten pro Test isolierst und jeden Test unabhängig von der Reihenfolge machst.

Warum Interviewer das fragen

Flakiness ist der schnellste Weg für eine Suite, ihre Autorität zu verlieren, also wollen Interviewer sehen, dass du sie als Defekt behandelst und nicht als Hintergrundrauschen. Die gewünschte Antwort trennt Quarantäne, die eine Notlösung ist, von der Arbeit an der Grundursache und benennt konkrete Ursachen. Wer sagt, einfach einen Retry dazu, sagt dem Interviewer damit, dass er echte Bugs fröhlich durchlässt.

So baust du deine Antwort auf

  • Sag, dass ein flaky Test ein Defekt ist und kein Rauschen.
  • Quarantäne, um Vertrauen wiederherzustellen, aber als Übergang.
  • Nenn die häufigen Grundursachen in Kategorien.
  • Beschreib die Fixes, vor allem Warten auf Bedingungen statt auf Dauern.
  • Erwähn, dass du die Flake-Rate als Metrik verfolgst.

Beispielantwort

Gesprochenes Beispiel, erste Person

Als Erstes stoppe ich die Blutung, denn eine Suite, die zufällig fehlschlägt, wird ignoriert, und sobald Leute sie ignorieren, hast du gar kein Sicherheitsnetz mehr. Flaky Tests kommen also in einen separaten Lauf, der die Pipeline nicht blockiert, mit Ticket und Verantwortlichem, nicht gelöscht und nicht still für immer wiederholt. Dann diagnostiziere ich sie wirklich. Der mit Abstand größte Topf ist Synchronisation: jemand hat einen festen Sleep genutzt oder direkt nach einem Klick geprüft, während der Request noch unterwegs ist. Der Fix ist, auf eine Bedingung zu warten, also darauf, dass das Element bedienbar ist oder der Netzwerkaufruf durch ist, nie auf eine Dauer. Zweiter Topf sind Daten: zwei Tests, die denselben Account nutzen, oder ein Test, der einen leeren Zustand annimmt, den der vorige Lauf verschmutzt hat. Das behebe ich, indem ich Daten pro Test mit eindeutiger Kennung anlege. Drittens die Reihenfolgeabhängigkeit, die ich rausspüle, indem ich die Suite absichtlich in zufälliger Reihenfolge laufen lasse. Und ich verfolge die Flake-Rate auf einem Dashboard, denn was nicht gemessen wird, schleicht sich zurück. Alles über etwa einem Prozent behandle ich als echtes Problem.

Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.

So funktioniert es

Nachfragen, mit denen du rechnen solltest

  • Wann ist ein Retry tatsächlich vertretbar?
  • Wie würdest du einen Test finden, der nur nach einem anderen fehlschlägt?
  • Was würdest du tun, wenn die Flakiness aus einer wirklich instabilen Umgebung kommt?

Weitere Fragen für QA Engineer

Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.

Meine Fragen vorhersagen

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen