Unit-teste Logik mit Verzweigungen und Randfällen: Preisregeln, Parsing, Zustandsautomaten. Integrationsteste die Nähte, an denen deine Annahmen auf die Realität treffen: Datenbankabfragen, Serialisierung, Auth-Middleware, Clients von Drittanbietern. Wenn ein Test fünf Mocks zum Laufen braucht, testet er vor allem deine Mocks, und der Wert steckt stattdessen in einem Integrationstest. Ziel sind viele schnelle Unit Tests plus ein kleinerer Satz Integrationstests über die kritischen Pfade.
Warum Interviewer das fragen
Das ist eigentlich eine Frage danach, woher Bugs kommen. Der Interviewer will sehen, dass du Verhalten testest statt Implementierung, dass du weißt, dass stark gemockte Unit Tests grün sein können, während Produktion kaputtgeht, und dass du ein Verhältnis begründen kannst, ohne die Testpyramide als Dogma herunterzubeten. Urteilsvermögen darüber, was gar nicht testenswert ist, ist hier das stärkste Signal.
So baust du deine Antwort auf
- Teil danach auf, ob das Risiko in der Logik oder in der Integration liegt.
- Benenne den Smell des mock-lastigen Tests.
- Beschreib die Form der Suite, die du anstrebst.
- Sag, was du bewusst nicht testest.
Beispielantwort
Ich teile danach auf, wo das Risiko liegt. Liegt das Risiko in der Logik, in Verzweigungen, Rundung, Randfällen eines Zustandsautomaten, ist das ein Unit Test, und er sollte schnell genug sein, dass ich beim Speichern die ganze Datei laufen lasse. Liegt das Risiko an einer Naht, ob mein SQL wirklich zurückgibt was ich denke, ob JSON so serialisiert wie der Client es erwartet, ob die Middleware ein abgelaufenes Token ablehnt, ist das ein Integrationstest mit einer echten Datenbank im Container. Meine Heuristik ist die Mock-Zahl: Wenn ich vier Mocks brauche, damit ein Test läuft, assertiert dieser Test mein mentales Modell dieser vier Dinge, und genau mein mentales Modell ist das Falsche, wenn es in Produktion kracht. Ich versuche auch, ehrlich zu sein, was ich nicht teste. Ein dünner Controller, der nur durchreicht, oder ein Getter ist nebenbei abgedeckt, und ihn separat zu testen ist Wartungsaufwand ohne Signal. Die Suite, die ich will, sind viele schnelle Unit Tests und vielleicht zwanzig Integrationstests über die Pfade, an denen Geld oder Auth hängen.
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 esNachfragen, mit denen du rechnen solltest
- Wie verhinderst du, dass Integrationstests langsam und flaky werden?
- Wie stehst du zu Coverage-Zielen?
- Wo passen Contract Tests zwischen Services hinein?
Weitere Fragen für Softwareentwickler
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