Interviewfragen zum Testen mit Antworten
Jest und Vitest, React Testing Library, Mocks und MSW, Playwright und Cypress, Testpyramide: was, wie und auf welcher Ebene man testet.
228 Fragen fürs Vorstellungsgespräch zum Testen mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- Jest
- Vitest
- Testing Library
- Mocks
- Playwright
- Cypress
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Testen · Junior
- Was ist das Hauptziel automatisierter Tests?
Antwort zeigen
Richtige Antwort: Vertrauen, dass der Code nach Änderungen weiter funktioniert
Tests können das Vorhandensein von Bugs zeigen, nicht ihr Fehlen. Ihr Wert ist schnelles Feedback und sicheres Refactoring: bricht Verhalten, scheitert ein Test, bevor Nutzer es merken.
- Was prüft ein Unit-Test?
Antwort zeigen
Richtige Antwort: Ein kleines, isoliertes Stück Code für sich
Unit-Tests sind schnell und zeigen genau die fehlerhafte Stelle. Ihre Grenze: sie zeigen nicht, ob die Teile zusammen funktionieren.
- Was prüft ein Integrationstest?
Antwort zeigen
Richtige Antwort: Dass mehrere Einheiten korrekt zusammenarbeiten
Im Frontend rendert ein Integrationstest meist ein Feature (mehrere Komponenten, State, Router) und mockt nur die Netzwerkgrenze.
- Was ist ein End-to-End-Test (E2E)?
Antwort zeigen
Richtige Antwort: Ein Test, der die echte App im Browser wie ein Nutzer bedient
E2E-Tests geben das meiste Vertrauen, sind aber langsamer und anfälliger. Typische Werkzeuge: Playwright und Cypress.
Testen · Middle
- Was ist der Unterschied zwischen
findBy…undwaitFor?Antwort zeigen
Richtige Antwort:
findBywartet auf ein Element;waitForwiederholt einen beliebigen CallbackfindByRole(...)ist buchstäblichwaitFor(() => getByRole(...)). NutzefindBy, um auf ein Element zu warten, undwaitForfür andere Assertions. - Wie wartet man darauf, dass ein Lade-Spinner verschwindet?
Antwort zeigen
Richtige Antwort:
await waitForElementToBeRemoved(() => screen.queryByRole("progressbar"))Der Helfer verlangt, dass das Element zu Beginn vorhanden ist, und wartet dann, bis die Abfrage
nullliefert. - Was bedeutet die Warnung „An update to Component inside a test was not wrapped in act(...)“ meist?
Antwort zeigen
Richtige Antwort: Der State änderte sich, nachdem der Test aufgehört hatte zu warten
RTL umhüllt
renderund Events bereits mitact. Die Lösung ist meist, mitfindBy/waitForauf den finalen UI-Zustand zu warten, nichtacthändisch hinzuzufügen. - Wie testet man ein Sucheingabefeld mit Debounce?
Antwort zeigen
Richtige Antwort: Fake Timers nutzen, tippen, dann um die Debounce-Zeit vorstellen
Fake Timers machen den Test schnell und deterministisch. Echtes Warten bremst die Suite und hat trotzdem Race Conditions.
Testen · Senior
- Wie entscheidet man, auf welcher Ebene der Pyramide/Trophy ein Test liegt?
Antwort zeigen
Richtige Antwort: Auf der niedrigsten Ebene, die den Fehler noch abfangen kann
Kann ein Unit- oder Integrationstest einen Bug abfangen, bringt ein doppelter E2E-Test nur Kosten. E2E ist für das, was niedrigere Ebenen nicht sehen: echte Verdrahtung, Deployment, Integrationen mit Drittanbietern.
- Warum argumentiert Googles „Just Say No to More End-to-End Tests“ gegen das Verlassen auf E2E?
Antwort zeigen
Richtige Antwort: Ihre Fehlschläge kommen spät, sind schwer einzugrenzen und wacklig
Gute Tests sind schnell, zuverlässig und grenzen Fehler ein. Eine Suite aus überwiegend E2E-Tests versagt bei allen dreien.
- Was ist die „Testing Honeycomb“, und wo wird sie genutzt?
Antwort zeigen
Richtige Antwort: Eine Form für Microservices: vor allem Integrationstests jedes Service
Das Modell von Spotify passt zu Services, deren Komplexität in Interaktionen statt in interner Logik liegt.
- Worauf beruhen Googles „Testgrößen“ (small, medium, large)?
Antwort zeigen
Richtige Antwort: Auf erlaubten Ressourcen: Prozess, Maschine oder Netzwerk
Größen beschreiben Beschränkungen, die Tests schnell und deterministisch machen, unabhängig von der Namensdebatte „Unit/Integration“.
Kombinierte Tests mit diesem Thema
Fragen aus mehreren Themen auf einmal, wie im Vorstellungsgespräch für eine konkrete Stelle.
Programmieraufgaben
Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.
Aufgaben öffnen →