Lernen / Glossar
Softwaretest-Glossar
Verständliche Definitionen der Begriffe, die QA Engineers und SDETs täglich verwenden – jeweils mit Beispiel und Links zu passenden Lektionen, Labs und Interviewfragen.
77 Begriffe · Testgrundlagen 26 · Testdesign 5 · UI-Automatisierung 18 · API-Testing 8 · CI/CD und DevOps 5 · Performance 5 · Sicherheit 4 · KI im Testing 6
Testgrundlagen
- Akzeptanzkriterien Acceptance criteria Die konkreten, testbaren Bedingungen, die eine User Story oder ein Feature erfüllen muss, damit der Product Owner es als fertig abnimmt.
- Benutzerakzeptanztest (UAT) User acceptance testing Die letzte Testphase, in der echte Nutzer oder Fachvertreter bestätigen, dass das System ihre Anforderungen erfüllt und für das Release abgenommen werden kann.
- Black-Box-Test Black-box testing Ein System über seine Ein- und Ausgaben gegen die Anforderungen testen, ohne den internen Code oder das Design anzusehen oder sich darauf zu stützen.
- Codeabdeckung (Code Coverage) Code coverage Der Anteil des Quellcodes (Zeilen, Anweisungen, Zweige oder Funktionen), der beim Testlauf ausgeführt wird. Sie zeigt, was ungetestet ist, nicht was gut getestet ist.
- End-to-End-Test (E2E-Test) End-to-end test Ein Test, der eine komplette User Journey durch das echte, vollständig deployte System führt, von der UI oder öffentlichen API bis zur Datenbank und zurück.
- Exploratives Testen Exploratory testing Testen, bei dem der Tester Tests gleichzeitig entwirft und ausführt und anhand jedes Ergebnisses entscheidet, was er als Nächstes ausprobiert.
- Fehlerpriorität Bug priority Wie dringend ein Fehler im Vergleich zu anderer Arbeit behoben werden soll, entschieden nach geschäftlichem Bedarf – meist vom Product Owner oder in der Bug-Triage.
- Fehlerschweregrad Bug severity Wie stark ein Fehler das System oder seine Nutzer beeinträchtigt, vom kompletten Absturz oder Datenverlust bis zum kosmetischen Problem. Wird meist von QA festgelegt.
- Flaky Test Flaky test Ein Test, der auf unverändertem Code mal besteht und mal fehlschlägt, meist wegen Timing, geteiltem Zustand, Testreihenfolge oder instabiler Umgebung.
- Integrationstest Integration test Ein Test, der prüft, ob zwei oder mehr Komponenten, etwa ein Service und seine Datenbank oder zwei APIs, über ihre echten Schnittstellen korrekt zusammenarbeiten.
- Mutationstest Mutation testing Eine Technik, die kleine, absichtliche Fehler (Mutanten) in den Code einbaut und die Tests erneut ausführt, um zu messen, ob die Suite Fehler tatsächlich erkennt.
- Regressionstest Regression testing Das erneute Ausführen bestehender Tests nach einer Änderung, um zu bestätigen, dass Funktionierendes weiter funktioniert und der Fix nichts anderes kaputt gemacht hat.
- Risikobasiertes Testen Risk-based testing Ein Ansatz, der den Testaufwand nach Risiko (Wahrscheinlichkeit mal Auswirkung) priorisiert, damit die riskantesten Bereiche zuerst und am gründlichsten getestet werden.
- Rückverfolgbarkeitsmatrix Requirements traceability matrix Eine Tabelle, die jede Anforderung den prüfenden Testfällen und deren Ergebnissen zuordnet, sodass Abdeckungslücken und Auswirkungen von Änderungen sichtbar werden.
- Sanity-Test Sanity testing Eine enge, gezielte Prüfung nach einer kleinen Änderung oder einem Bugfix, ob der betroffene Bereich wie beabsichtigt funktioniert, bevor breiter getestet wird.
- Shift-Left-Testing Shift-left testing Das Vorverlagern von Test- und Qualitätsaktivitäten im Lieferzyklus, damit Fehler verhindert oder dann gefunden werden, wenn ihre Behebung am günstigsten ist.
- Smoke-Test Smoke testing Eine schnelle, oberflächliche Prüfung der wichtigsten Funktionen eines neuen Builds, um zu entscheiden, ob er überhaupt stabil genug für tiefergehende Tests ist.
- Test Double Test double Jedes Objekt, das in einem Test eine echte Abhängigkeit ersetzt, etwa Dummy, Stub, Fake, Spy oder Mock, damit der getestete Code schnell und vorhersagbar läuft.
- Testfall Test case Konkrete Vorbedingungen, Eingabedaten, Schritte und erwartete Ergebnisse, die ein Verhalten des Systems prüfen und ein klares Bestanden oder Nicht bestanden liefern.
- Testorakel Test oracle Die Wahrheitsquelle, mit der ein Test entscheidet, ob eine Ausgabe korrekt ist, etwa eine Spezifikation, eine Vorversion, ein Referenzmodell oder eine Regel.
- Testplan Test plan Ein Dokument, das Umfang, Vorgehen, Ressourcen, Zeitplan, Umgebungen, Risiken sowie Eingangs- und Endekriterien für das Testen eines Releases oder Projekts festlegt.
- Testpyramide Test pyramid Ein Modell zur Gewichtung einer automatisierten Suite: viele schnelle Unit-Tests an der Basis, weniger Integrationstests darüber und wenige End-to-End-Tests an der Spitze.
- Testszenario Test scenario Eine übergeordnete Beschreibung eines Nutzerziels oder einer zu testenden Funktion, etwa „Checkout mit gespeicherter Karte prüfen“, die später in Testfälle zerlegt wird.
- Unit-Test Unit test Ein automatisierter Test, der ein kleines Stück Code wie eine Funktion oder Klasse isoliert von Datenbanken, Netzwerken und anderen Diensten prüft.
- Verifizierung und Validierung Verification and validation Verifizierung fragt „Bauen wir das Produkt richtig?“ gegen die Spezifikation. Validierung fragt „Bauen wir das richtige Produkt?“ für echte Nutzerbedürfnisse.
- White-Box-Test White-box testing Tests, die aus Kenntnis des internen Codes entworfen werden, etwa seiner Zweige, Bedingungen und Pfade, um das korrekte Verhalten der Implementierung sicherzustellen.
Testdesign
- Äquivalenzklassenbildung Equivalence partitioning Ein Testentwurfsverfahren, das Eingaben in Gruppen einteilt, die das System gleich behandeln soll, und dann aus jeder Gruppe einen repräsentativen Wert testet.
- Entscheidungstabellentest Decision table testing Ein Testentwurfsverfahren, das Kombinationen von Bedingungen und die jeweils erwartete Aktion auflistet, sodass jede Geschäftsregel einen Test bekommt.
- Grenzwertanalyse Boundary value analysis Ein Black-Box-Testentwurfsverfahren, das Testeingaben genau an und knapp neben den Rändern gültiger Bereiche wählt, wo sich Off-by-one-Fehler häufen.
- Pairwise-Testing Pairwise testing Eine kombinatorische Technik, die eine kleine Menge von Testfällen auswählt, in der jedes Paar von Parameterwerten mindestens einmal gemeinsam vorkommt.
- Zustandsübergangstest State transition testing Ein Testentwurfsverfahren, das ein System als Zustände und die Ereignisse modelliert, die zwischen ihnen wechseln, und dann gültige und ungültige Übergänge testet.
UI-Automatisierung
- Auto-Waiting Auto-waiting Eine Framework-Funktion, die wartet, bis ein Element bereit ist – etwa sichtbar, stabil und aktiviert –, bevor sie damit interagiert, statt auf feste Sleeps zu setzen.
- Behavior-Driven Development (BDD) Behavior-Driven Development Eine kollaborative Praxis, bei der Fachbereich, Entwicklung und Test das Verhalten anhand konkreter Beispiele abstimmen, oft in Gherkin formuliert und automatisiert.
- CSS-Selektor CSS selector Ein Muster aus der Sprache CSS, das Elemente nach Tag, ID, Klasse, Attribut oder Position findet und als schneller, lesbarer Locator in UI-Tests weit verbreitet ist.
- Datengetriebenes Testen Data-driven testing Dieselbe Testlogik mit vielen Sätzen aus Eingaben und erwarteten Ergebnissen ausführen, die in einer Tabelle, Datei oder Datenquelle liegen statt in jedem Test.
- Explicit Wait Explicit wait Ein Wait, der bis zu einem Timeout auf eine bestimmte Bedingung pollt, etwa bis ein Element klickbar ist. In Selenium wird er mit WebDriverWait geschrieben.
- Gherkin Die Klartext-Syntax Given-When-Then, mit der BDD-Szenarien in .feature-Dateien geschrieben werden und die Tools wie Cucumber als automatisierte Tests ausführen.
- Headless Browser Headless browser Eine echte Browser-Engine, die ohne sichtbares Fenster läuft und genutzt wird, um UI-Tests auf CI-Servern und anderen Maschinen ohne Bildschirm auszuführen.
- Implicit Wait Implicit wait Eine globale Selenium-Einstellung, die jeden findElement-Aufruf bis zu einer festgelegten Zeit weiter pollen lässt, bevor eine NoSuchElementException geworfen wird.
- Locator Die Abfrage, mit der ein UI-Test ein Element auf der Seite findet, etwa über Rolle und Name, eine Test-ID, einen CSS-Selektor oder einen XPath-Ausdruck.
- Page Object Model Ein Entwurfsmuster, das jede Seite oder Komponente der UI in einer Klasse kapselt, damit Tests fachliche Methoden aufrufen, statt Locatoren zu wiederholen.
- Selenium Grid Ein Selenium-Server, der WebDriver-Sessions an entfernte Browser-Nodes weiterleitet, damit Tests parallel über viele Browser, Versionen und Rechner laufen können.
- StaleElementReferenceException Ein Selenium-Fehler, der auftritt, wenn ein Test ein WebElement verwendet, dessen DOM-Knoten nach dem Finden entfernt oder ersetzt wurde, typischerweise nach einem Re-Render.
- Test-Fixture Test fixture Das feste Setup, das ein Test vor seinem Lauf braucht, etwa eine Browserseite, ein angelegter Nutzer oder eine Datenbank, plus das Teardown, das danach aufräumt.
- Test-Sharding Test sharding Das Aufteilen einer Testsuite in Teile, sogenannte Shards, die gleichzeitig auf getrennten Maschinen laufen, sodass eine lange Suite in einem Bruchteil der Zeit fertig wird.
- Testisolation Test isolation Die Eigenschaft, dass jeder Test seinen eigenen Zustand herstellt und für sich allein, in beliebiger Reihenfolge und parallel bestehen kann, ohne andere Tests zu beeinflussen.
- Visueller Regressionstest Visual regression testing Der Vergleich von UI-Screenshots mit freigegebenen Baselines, um ungewollte visuelle Änderungen wie Layoutverschiebungen, fehlende Styles oder Überlappungen zu finden.
- Web-First-Assertion Web-first assertion Eine Playwright-Assertion, die einen Locator erhält und wiederholt prüft, bis die Bedingung erfüllt ist oder der Timeout abläuft, statt einen Wert nur einmal zu prüfen.
- XPath Eine Abfragesprache zur Auswahl von Knoten in einem XML- oder HTML-Dokument, die in der UI-Automatisierung Elemente über Struktur, Attribute oder Text lokalisiert.
API-Testing
- Contract Testing Contract testing Prüfen, ob ein API-Provider und seine Consumer sich über die ausgetauschten Requests und Responses einig sind, ohne beide für einen End-to-End-Test gemeinsam zu deployen.
- HTTP-Statuscode HTTP status code Die dreistellige Zahl in jeder HTTP-Response, die angibt, ob der Request erfolgreich war, umgeleitet wurde oder an Client oder Server gescheitert ist.
- Idempotenz Idempotency Die Eigenschaft, dass ein Request, ob einmal oder mehrfach gesendet, den Server im selben Zustand hinterlässt. GET, PUT und DELETE sind idempotent, POST nicht.
- JSON Schema Ein JSON-Vokabular zur Beschreibung der erwarteten Struktur von JSON-Daten, inklusive Typen, Pflichtfeldern und Formaten, mit dem sich API-Responses validieren lassen.
- JWT (JSON Web Token) JWT Ein JSON Web Token ist ein kompaktes, signiertes Token der Form header.payload.signature, das Claims wie Nutzer-ID, Ablaufzeit und Audience enthält.
- OAuth 2.0 Ein Autorisierungs-Framework, mit dem eine App ein begrenztes Access Token erhält, um für einen Nutzer oder sich selbst eine API aufzurufen, ohne Passwörter zu verarbeiten.
- Rate Limiting Rate limiting Die Begrenzung, wie viele Anfragen ein Client in einem Zeitfenster an eine API senden darf; Überschüsse werden meist mit 429 Too Many Requests und Retry-After abgelehnt.
- REST-API REST API Eine HTTP-API rund um per URL identifizierte Ressourcen, die mit Standardmethoden wie GET, POST, PUT, PATCH und DELETE in zustandslosen Anfragen bearbeitet werden.
CI/CD und DevOps
- Continuous Integration (CI) Continuous integration Die Praxis, kleine Änderungen häufig in einen gemeinsamen Branch zu mergen, wobei jeder Push automatisch gebaut und getestet wird, damit Fehler binnen Minuten auffallen.
- Docker-Container Docker container Eine laufende, isolierte Instanz eines Docker-Images, die eine App oder einen Service samt Abhängigkeiten verpackt und sich auf Laptop und CI gleich verhält.
- Feature Flag Feature flag Ein Laufzeitschalter, der einen Codepfad ohne Deployment ein- oder ausschaltet. So lässt sich Unfertiges verborgen ausliefern, schrittweise ausrollen und schnell zurückrollen.
- Quality Gate Quality gate Eine automatisierte Bestanden/Nicht-bestanden-Prüfung in der Pipeline, etwa grüne Tests oder Abdeckung über einem Schwellenwert, die vor Merge oder Release erfüllt sein muss.
- Testcontainers Eine Bibliothek, die echte Abhängigkeiten wie Datenbanken, Broker oder Browser aus dem Testcode heraus in Wegwerf-Docker-Containern startet und danach wieder entfernt.
Performance
- Durchsatz Throughput Die Arbeitsmenge, die ein System pro Zeiteinheit erledigt, meist Anfragen oder Transaktionen pro Sekunde, gemessen zusammen mit Latenz und Fehlerrate.
- Lasttest Load testing Ein Performancetest, der ein System mit der realistisch erwarteten Last betreibt und Antwortzeiten, Fehlerraten und Durchsatz gegen vereinbarte Ziele prüft.
- Perzentil-Latenz Percentile latency Ein Antwortzeitmaß wie p95 oder p99, das angibt, innerhalb welcher Zeit dieser Anteil der Anfragen abgeschlossen war, und so den langsamen Ausläufer sichtbar macht.
- Soak-Test Soak testing Ein Performancetest, der eine normale, realistische Last viele Stunden lang hält, um Probleme aufzudecken, die sich erst mit der Zeit aufbauen, etwa Speicherlecks.
- Stresstest Stress testing Ein Performancetest, der die Last über das erwartete Niveau hinaus erhöht, um den Bruchpunkt zu finden, das Ausfallverhalten zu sehen und die anschließende Erholung zu prüfen.
Sicherheit
- Cross-Site-Scripting (XSS) Cross-site scripting Eine Schwachstelle, bei der fremde Eingaben im Browser eines anderen Nutzers als Skript ausgeführt werden, sodass ein Angreifer in dessen Namen handeln kann.
- IDOR Insecure Direct Object Reference, eine Lücke in der Zugriffskontrolle, bei der ein Nutzer durch Ändern einer ID im Request fremde Daten lesen oder ändern kann.
- OWASP Top 10 Die Awareness-Liste von OWASP mit den zehn kritischsten Risikokategorien für Webanwendungen, weit verbreitet zur Planung von Sicherheitstests und Code-Reviews.
- SQL-Injection SQL injection Eine Schwachstelle, bei der Nutzereingaben in eine SQL-Abfrage verkettet werden, sodass ein Angreifer deren Logik ändern und Daten lesen, ändern oder löschen kann.
KI im Testing
- Golden Dataset Golden dataset Ein kuratierter, versionierter Satz von Eingaben mit verifizierten erwarteten Ausgaben, der als fester Maßstab für Regressionstests von Modellen, Prompts oder Pipelines dient.
- LLM-as-a-Judge LLM-as-judge Ein Sprachmodell bewertet anhand einer schriftlichen Rubrik die Ausgaben eines anderen Modells – ein skalierbarer, aber voreingenommener Ersatz für menschliches Review.
- LLM-Evaluierung LLM evaluation Die systematische Qualitätsmessung eines LLM-basierten Features anhand fester Eingaben und Kriterien, da Ausgaben variieren und exakte Asserts selten passen.
- Model Context Protocol (MCP) Model Context Protocol MCP ist ein offenes Protokoll, das KI-Assistenten und Agenten mit externen Tools und Daten verbindet, etwa mit einem Browser, einem Repo oder einem Testmanagement-System.
- Prompt Injection Prompt injection Ein Angriff, bei dem Text an ein LLM, direkt vom Nutzer oder versteckt in gelesenen Inhalten, die Anweisungen der Entwickler überschreibt und sein Verhalten ändert.
- Self-Healing-Locator Self-healing locator Ein Locator, bei dem das Testtool bei fehlendem Treffer anhand gespeicherter Attribute oder eines Modells ein wahrscheinliches Ersatzelement wählt und den Test fortsetzt.