Software Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel
Testen ist mehr als das Ausführen von Testfällen am Ende eines Projekts. Erfahren Sie mehr über die sechs STLC-Phasen, was jede einzelne benötigt und produziert, wie sie auf eine echte Funktion angewendet wird und wie agile Teams sie anpassen.
- Der Lebenszyklus von Softwaretests ist die Abfolge von Aktivitäten, die zum Planen, Entwerfen, Ausführen und Abschließen von Tests verwendet werden.
- Das gemeinsame Modell besteht aus sechs Phasen, von der Anforderungsanalyse bis zum Testabschluss.
- Eintritts- und Austrittskriterien definieren, wann eine Phase beginnen kann und wann sie beendet ist.
- Agile Teams behalten die gleichen Aktivitäten bei, wiederholen sie jedoch bei jedem Sprint in kleinen Schleifen.
Wenn ein Fehler in die Produktion gelangt, liegt die Ursache oft nicht darin, dass jemand vergessen hat, einen Test durchzuführen. Es liegt daran, dass eine Anforderung nie in Frage gestellt wurde, die Testdaten falsch waren oder sich niemand darauf einig war, was „erledigt“ bedeutet. Der Lebenszyklus von Softwaretests geht diese Probleme an, indem er dem Testen eine klare Struktur von der ersten Anforderung bis zum Abschlussbericht gibt.
In diesem Leitfaden werden die einzelnen Phasen erläutert. Anschließend wird durch alle Phasen ein veranschaulichendes Merkmal erläutert: eine Anmeldeseite, die ein Konto nach fünf fehlgeschlagenen Versuchen sperrt. Über die Anzahl der Phasen sind sich die Quellen nicht ganz einig. Sie werden Modelle mit sieben oder acht sehen, die jedoch meist die gleiche Arbeit unterschiedlich aufteilen. Wir verwenden die weit verbreitete Sechs-Phasen-Version.
Was ist der STLC?
Der STLC ist eine definierte Reihe von Testaktivitäten, die durchgeführt werden, um zu bestätigen, dass die Software ihre Anforderungen erfüllt. Jede Phase hat ein Ziel, Inputs und Outputs, sodass die Tests geplant und nachvollziehbar sind und nicht am Ende improvisiert werden.
Die Vorteile sind praktisch. Tester werden frühzeitig eingebunden, wenn die Behebung von Fehlern kostengünstiger ist. Der Aufwand geht bis zum höchsten Risiko. Und wenn ein Manager fragt: „Sind wir zur Veröffentlichung bereit?“, kann das Team mit Beweisen antworten.
Die sechs STLC-Phasen im Überblick
| Phase | Hauptziel | Schlüsselausgabe |
|---|---|---|
| 1. Anforderungsanalyse | Verstehen Sie, was Sie testen müssen | Fragen, testbare Anforderungen, RTM |
| 2. Testplanung | Entscheiden Sie, wie Sie testen möchten | Testplan, Schätzungen |
| 3. Testfallentwicklung | Entwerfen Sie die Tests | Testfälle, Skripte, Testdaten |
| 4. Umgebungseinrichtung | Bereiten Sie den Testort vor | Bereite Umgebung, Ergebnis des Rauchtests |
| 5. Testdurchführung | Führen Sie Tests durch und protokollieren Sie Fehler | Ergebnisse, Fehlerberichte |
| 6. Testabschluss | Bewerten und lernen | Abschlussbericht, gewonnene Erkenntnisse |
Eintrittskriterien sind die Bedingungen, die erfüllt sein müssen, bevor eine Phase beginnt. Abbruchkriterien sind die Bedingungen, die wahr sein müssen, bevor es endet. Sie hindern ein Team beispielsweise daran, Tests an einem defekten Build durchzuführen und so einen Tag zu verschwenden.
Phase 1: Anforderungsanalyse
Tester untersuchen Anforderungen, um herauszufinden, was getestet werden kann und was unklar ist. Dies ist oft der günstigste Weg, einen Fehler zu verhindern, da eine Frage weitaus weniger kostet als ein Produktions-Fix.
- Eintrag: Anforderungsdokumente oder User Stories sind verfügbar.
- Aktivitäten: funktionale und nichtfunktionale Bedürfnisse identifizieren, Fragen stellen, Risiken bewerten und entscheiden, was automatisiert werden könnte.
- Beenden: Offene Fragen werden beantwortet und die Anforderungs-Traceability-Matrix (RTM) wird gestartet.
- Liefergegenstände: eine Liste testbarer Anforderungen und das RTM.
Anmeldebeispiel. In der Geschichte heißt es: „Sperren Sie das Konto nach fünf fehlgeschlagenen Versuchen.“ Ein guter Tester fragt: Fünf in welchem Zeitraum? Wie wird es freigeschaltet? Setzt eine erfolgreiche Anmeldung den Zähler zurück? Welche Meldung wird angezeigt? Jede Antwort wird zu etwas Überprüfbarem.
Phase 2: Testplanung
Das Team entscheidet über Umfang, Vorgehensweise, Personen, Tools, Zeitplan und Risiken. Normalerweise ist der Testleiter für diese Phase verantwortlich.
- Eintrag: analysierte Anforderungen und eine erste Risikobewertung.
- Aktivitäten: Definieren Sie den Umfang, schätzen Sie den Aufwand, wählen Sie Tools aus, weisen Sie Rollen zu und legen Sie Abschlusskriterien für spätere Phasen fest.
- Beenden: Der Testplan wird überprüft und genehmigt.
- Liefergegenstände: der Testplan und Aufwandsschätzungen.
Anmeldebeispiel. Im Geltungsbereich: Sperrregeln, Zurücksetzen und Fehlermeldungen im Web und auf Mobilgeräten. Außerhalb des Geltungsbereichs: Single Sign-On, von einem anderen Team verwaltet. Das größte Risiko besteht darin, echte Benutzer auszusperren, damit diese die meiste Aufmerksamkeit erhalten. Wenn Sie sich nicht sicher sind, wie sich ein Plan von einer Strategie unterscheidet, lesen Sie Testplan vs. Teststrategie.
Phase 3: Testfallentwicklung
Hier schreiben Tester die detaillierten Testfälle, Automatisierungsskripte und Testdaten.
- Eintrag: ein genehmigter Testplan und stabile Anforderungen.
- Aktivitäten: Testfälle schreiben und überprüfen, Daten vorbereiten, automatisierte Prüfungen skripten und das RTM aktualisieren.
- Beenden: Testfälle und Daten werden überprüft und sind bereit.
- Leistungen: Testfälle, Skripte und Testdaten.
| Ausweis | Szenario | Erwartetes Ergebnis |
|---|---|---|
| TC-01 | 4 Fehlversuche, dann das richtige Passwort | Die Anmeldung ist erfolgreich und der Zähler wird zurückgesetzt |
| TC-02 | 5 Fehlversuche | Konto gesperrt und eine klare Meldung erscheint |
| TC-03 | Korrektes Passwort für ein gesperrtes Konto | Die Anmeldung wurde immer noch abgelehnt |
| TC-04 | Fehlgeschlagene Versuche auf zwei Browsern gleichzeitig | Die Zählung wird geteilt und bleibt korrekt |
| TC-05 | Mit dem Reset-Link entsperren | Die Anmeldung funktioniert und der Zählerstand wird gelöscht |
Beachten Sie, dass TC-01 und TC-02 beide Seiten des Grenzwerts testen, der direkt aus der Randwertanalyse stammt. Weitere Informationen dazu, wie Sie diese gut schreiben, finden Sie unter Testfälle schreiben.
Phase 4: Einrichtung der Testumgebung
Für die Durchführung von Tests ist ein realistischer Ort erforderlich: die richtigen Server, Daten, Konten, Browser und Netzwerkzugriffe. Diese Phase läuft häufig parallel zu Phase 3 und kann von Entwicklern oder einem DevOps-Team durchgeführt werden.
- Eintrag: ein Testplan, eine Architekturübersicht und Umgebungsanforderungen.
- Aktivitäten: Hardware oder Container einrichten, Daten laden, Zugriff konfigurieren und den Build installieren.
- Beenden: Die Umgebung ist bereit und ein Rauchtest besteht.
- Ergebnisse: eine Arbeitsumgebung und ein Rauchtestergebnis.
Login-Beispiel. Staging erhält Testkonten in bekannten Zuständen, zusammen mit einem verkürzten Sperr-Timer, damit Tester nicht warten müssen. Ein kurzer Rauchtest bestätigt, dass die Anmeldung überhaupt geladen wird, bevor der vollständige Durchlauf beginnt. Container tragen dazu bei, Umgebungen konsistent zu halten, wie in unserem Docker Compose-Tutorial gezeigt.
Phase 5: Testdurchführung
Tester führen die geplanten Tests durch, vergleichen tatsächliche und erwartete Ergebnisse und melden Mängel. Behobene Fehler werden erneut getestet und verwandte Bereiche werden einem Regressionstest unterzogen.
- Eintrag: Testfälle sind fertig, die Umgebung funktioniert und ein Build wurde geliefert.
- Aktivitäten: Führen Sie Tests durch, zeichnen Sie Ergebnisse auf, protokollieren Sie Fehler, testen Sie Korrekturen erneut und aktualisieren Sie das RTM.
- Beenden: Geplante Tests werden durchgeführt und Mängel werden behoben oder offiziell akzeptiert.
- Leistungen: Testergebnisse und Fehlerberichte.
Login-Beispiel. TC-04 schlägt fehl: Bei zwei Browsern erreicht der Zähler nur vier. Der Tester protokolliert den Fehler mit klaren Schritten und Beweisen, wie unter So schreiben Sie einen Fehlerbericht beschrieben. Sobald das Problem behoben ist, wird TC-04 erneut ausgeführt und die entsprechenden Anmeldeprüfungen durchlaufen die Regressionscheckliste.
Tipp: Machen Sie Ausstiegskriterien messbar und vereinbaren Sie diese im Voraus. „Alle kritischen Tests wurden bestanden und es sind keine Fehler mit hohem Schweregrad offen“ ist schwer zu bestreiten. „Testen sieht gut aus“ ist kein Kriterium.
Phase 6: Testabschluss
Diese Phase wird häufig übersprungen, was schade ist, da sich ein Team dadurch verbessert. Das Team wertet den Zyklus aus, archiviert seine Arbeit und zeichnet die gewonnenen Erkenntnisse auf.
- Eintrag: Die Ausführung ist abgeschlossen und der Fehlerstatus ist bekannt.
- Aktivitäten: Abschlusskriterien prüfen, Fehlertrends analysieren, Testressourcen archivieren und eine Retrospektive durchführen.
- Beenden: Der Abschlussbericht ist unterzeichnet.
- Ergebnisse: der Abschlussbericht und die gewonnenen Erkenntnisse.
Login-Beispiel. Der Bericht zeigt, dass alle fünf Fälle nach einem Fix erfolgreich waren. Die Lehre daraus ist, dass die Parallelität erst spät getestet wurde, sodass dieses Szenario bei zukünftigen Funktionen mit Zählern während des Entwurfs hinzugefügt wird.
STLC vs. SDLC
Der SDLC (Software Development Life Cycle) umfasst den Aufbau des gesamten Produkts. Der STLC ist der Teil, der sich auf das Testen konzentriert und parallel dazu läuft.
| Aspekt | SDLC | STLC |
|---|---|---|
| Konzentrieren Sie sich | Erstellen und Bereitstellen von Software | Validierung der Software |
| Angeführt von | Das gesamte Produktteam | Hauptsächlich QS- und Testingenieure |
| Phasen | Anforderungen, Design, Build, Test, Bereitstellung, Wartung | Die sechs Phasen oben |
| Ausgabe | Ein funktionierendes Produkt | Ein Beweis für seine Qualität |
Die Anforderungsanalyse im SDLC speist die Anforderungsanalyse im STLC ein, und die Entwicklung liefert Builds in die Testausführung. Das Testen muss nicht warten, bis die Codierung abgeschlossen ist. Früh anfangen ist das, was man unter „Linksverschiebung“ versteht.
STLC in Agile und DevOps
Die Phasen können wie ein langer, einseitiger Prozess klingen, müssen es aber nicht sein. Bei Agile werden dieselben Aktivitäten innerhalb jedes Sprints kleiner und wiederholen sich oft in Stunden statt in Wochen:
- Anforderungsanalyse erfolgt bei der Verfeinerung des Backlogs durch Fragen zur User Story.
- Planung erfolgt in der Sprintplanung, mit kurzen Notizen anstelle langer Dokumente.
- Testdesign erfolgt neben der Codierung, oft als Akzeptanzkriterien und automatisierte Tests.
- Umgebungseinrichtung wird durch Container und Infrastruktur als Code automatisiert.
- Ausführung läuft kontinuierlich in einer CI/CD-Pipeline.
- Abschluss wird Teil des Sprint-Reviews und der Retrospektive.
Behalten Sie das Nützliche und skalieren Sie den Papieraufwand entsprechend dem Risiko. Für ein kleines internes Tool ist möglicherweise eine kurze Checkliste erforderlich, während ein Bankensystem aus regulatorischen Gründen möglicherweise formelle Genehmigungen benötigt.
Häufige Fehler
- Tester zu spät einbeziehen. In Anforderungen gefundene Fehler sind weitaus günstiger als solche, die nach der Veröffentlichung gefunden werden.
- Vage Ausstiegskriterien. Ohne sie treffen Fristen die Entscheidung für Sie.
- Testen in einer schlechten Umgebung. Durch fehlerhafte Daten oder Konfigurationen verursachte Fehler verschwenden Zeit und untergraben das Vertrauen.
- Abschluss überspringen. Das Team wiederholt dann dieselben Fehler im nächsten Zyklus.
- Ich befolge es zu strikt. Der STLC ist ein Leitfaden. Schwere Dokumente bedeuten nicht automatisch eine bessere Qualität.
Fazit
Der Softwaretest-Lebenszyklus ist einfach eine disziplinierte Antwort auf sechs Fragen: Was testen wir, wie, mit welchen Fällen, wo, was ist passiert und was haben wir gelernt? Schauen Sie sich Ihren nächsten Beitrag an und prüfen Sie, welche dieser Fragen Ihr Team normalerweise überspringt. Wenn Sie diese eine Lücke schließen, werden Sie wahrscheinlich den größten Gewinn erzielen.
Häufige Fragen
Was sind die 6 Phasen des STLC?
Dabei handelt es sich um Anforderungsanalyse, Testplanung, Testfallentwicklung, Einrichtung der Testumgebung, Testausführung und Testabschluss. Einige Modelle teilen diese in mehrere Schritte auf.
Was ist der Unterschied zwischen STLC und SDLC?
Der SDLC deckt den Aufbau des gesamten Produkts ab, von den Anforderungen bis zur Wartung. Der STLC deckt nur Testaktivitäten ab und läuft parallel zur Entwicklung.
Was sind Ein- und Ausstiegskriterien?
Eintrittskriterien sind Bedingungen, die erforderlich sind, bevor eine Phase beginnen kann, beispielsweise ein stabiler Build. Abschlusskriterien sind Bedingungen, die für den Abschluss erforderlich sind, z. B. das Bestehen aller kritischen Tests.
Was ist ein RTM beim Testen?
Eine Anforderungsrückverfolgbarkeitsmatrix ordnet jede Anforderung ihren Testfällen zu. Es zeigt, ob alle Anforderungen abgedeckt sind und hilft Ihnen, die Auswirkungen von Änderungen einzuschätzen.
Wird STLC in Agile verwendet?
Ja. Agile Teams führen die gleichen Aktivitäten durch, jedoch in kürzeren, wiederholten Zyklen innerhalb jedes Sprints, mit mehr Automatisierung und weniger formaler Dokumentation.
Lerne weiter
Benötigen Sie Hilfe beim Testen, WordPress oder SEO?
Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.
Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung
Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.
KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert
KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…
Artikel lesen →DevOpsErklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht
Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…
Artikel lesen →SoftwareentwicklungAPI-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern
API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…
Artikel lesen →TestautomatisierungSpott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen
Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …
Artikel lesen →SoftwaretestsCode-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet
Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…
Artikel lesen →Datenbanken & SQLDELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck
DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…
Artikel lesen →Datenbanken & SQLErklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen
SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…
Artikel lesen →SoftwareentwicklungTypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler
TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…
Artikel lesen →SoftwareentwicklungPython *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen
Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…
Artikel lesen →SoftwareentwicklungPython-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet
Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…
Artikel lesen →Künstliche IntelligenzWas sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können
Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…
Artikel lesen →DevOpsÜberwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces
Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…
Artikel lesen →DevOpsDocker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten
Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…
Artikel lesen →TestautomatisierungTDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte
TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…
Artikel lesen →SoftwaretestsBenutzerakzeptanztests (UAT): Prozess, Checkliste und reale Beispiele
Benutzerakzeptanztests erklärt: Wer führt ihn durch, wie unterscheidet er sich von der Qualitätssicherung, ein siebenstufiger Prozess, eine UAT-Test…
Artikel lesen →Datenbanken & SQLErklärte SQL-NULL-Werte: IS NULL, COALESCE, NULLIF und die zu vermeidenden Fallen
SQL-NULL-Werte, die mit von uns ausgeführten Abfragen erklärt wurden: dreiwertige Logik, IS NULL, COALESCE, NULLIF, wie Aggregate, Joins und Sortier…
Artikel lesen →Datenbanken & SQLSQL CASE WHEN-Anweisung: Syntax, reale Beispiele und häufige Fehler
SQL CASE WHEN anhand der von uns ausgeführten Abfragen erklärt: einfache und durchsuchte Formulare, Bedingungsreihenfolge, Pivots mit SUM, COUNT-Tri…
Artikel lesen →SoftwareentwicklungWas ist JWT? JSON-Web-Tokens anhand eines funktionierenden Beispiels erklärt
Was ist JWT? JSON Web Tokens erklärt: die drei Teile, ein Token, das in dem von uns ausgeführten Code erstellt und manipuliert wurde, JWT vs. Sitzun…
Artikel lesen →SoftwareentwicklungErklärte JavaScript-Ereignisschleife: Aufrufstapel, Mikrotasks und Timer mit Beispielen
Die JavaScript-Ereignisschleife wurde mit dem von uns ausgeführten Code erklärt: Aufrufstapel, Aufgaben- und Mikrotask-Warteschlangen, warum setTime…
Artikel lesen →SoftwareentwicklungErklärung von Python-Generatoren und -Ertrag: Sparen Sie Speicher mit echten Beispielen
Python-Generatoren und Yield anhand des von uns ausgeführten Codes erklärt: wie sie angehalten und fortgesetzt werden, gemessene Speichereinsparunge…
Artikel lesen →Künstliche IntelligenzWas sind Einbettungen? Vektoren und Kosinusähnlichkeit einfach erklärt
Was sind Einbettungen? Ein Leitfaden in einfacher Sprache zu Vektoren, Kosinusähnlichkeit und semantischer Suche, mit einem kleinen Beispiel, das wi…
Artikel lesen →DevOpsBlau-Grün vs. Canary-Bereitstellung: Unterschiede, Kompromisse und Auswahl
Blue-Green vs. Canary-Bereitstellung erklärt: Funktionsweise, Kosten, Risiko und Rollback, stabiles Benutzer-Bucketing, das wir getestet haben, Date…
Artikel lesen →TestautomatisierungFlaky-Tests: Was sie verursacht und wie man sie endgültig behebt
Flaky-Tests wurden anhand von Demos erklärt, die wir durchgeführt haben: die Hauptursachen, wie man sie bestätigt und diagnostiziert, richtige Korre…
Artikel lesen →SoftwaretestsLasttest vs. Stresstest: Unterschiede, Metriken und k6-Beispiele
Erläuterungen zu Lasttests und Stresstests: Was die einzelnen Tests beweisen, Spike- und Soak-Tests, welche Kennzahlen wichtig sind, warum Durchschn…
Artikel lesen →SoftwaretestsTestfall vs. Testszenario: Hauptunterschiede, Beispiele und wann man sie jeweils verwendet
Testfall vs. Testszenario erklärt: klare Definitionen, eine Tabelle nebeneinander, eine Funktion zum Zurücksetzen von Passwörtern, die von Szenarios…
Artikel lesen →Datenbanken & SQLSQL-Abfrageoptimierung: Ausführungspläne lesen und langsame Abfragen mit Zeitvorgaben beheben
An einer Million Zeilen getestete SQL-Abfrageoptimierung: Ausführungspläne lesen, die richtigen Indizes hinzufügen, nicht sargierbare Filter korrigi…
Artikel lesen →Datenbanken & SQLSQL UNION vs. UNION ALL: Unterschiede, Beispiele und getestete Leistung
SQL UNION vs. UNION ALL anhand der von uns ausgeführten Abfragen erklärt: Duplikate, die Regeln, denen beide folgen, ein echter Datenfehler, gemesse…
Artikel lesen →SoftwareentwicklungTutorial zur JavaScript-Abruf-API: GET, POST, Fehlerbehandlung und Zeitüberschreitungen
Ein JavaScript-Abruf-API-Tutorial, das auf einem lokalen Server getestet wurde: GET und POST, warum 404 nicht ausgelöst wird, ein wiederverwendbarer…
Artikel lesen →SoftwareentwicklungUmgang mit Python-Dateien: Lesen, Schreiben, CSV, JSON und Pathlib mit Beispielen
Die Handhabung von Python-Dateien wird anhand des von uns ausgeführten Codes erklärt: Öffnungsmodi, Lesen großer Dateien, CSV, JSON, Pathlib, Binärd…
Artikel lesen →SoftwareentwicklungPython-Klassen und -Objekte: OOP-Tutorial mit echten Beispielen
Python-Klassen und -Objekte erklärt mit Code, den wir ausgeführt haben: __init__, Methoden, Klassen- und Instanzattribute, Vererbung, Eigenschaften,…
Artikel lesen →Künstliche IntelligenzWas ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt
Was ist ein großes Sprachmodell? LLMs im Klartext erklärt: Token, Einbettungen, Aufmerksamkeit, Training, Temperatur- und Kontextfenster, eine klein…
Artikel lesen →DevOpsLinux-Befehle für Anfänger: Der grundlegende Terminal-Leitfaden mit Beispielen
Linux-Befehle für Anfänger, gruppiert nach Aufgaben: Navigation, Dateien, Anzeigen von Protokollen, Grep, Pipes, Berechtigungen, Prozesse und Archiv…
Artikel lesen →TestautomatisierungSelenium vs. Playwright: Hauptunterschiede, Code im Vergleich und welche Sie wählen sollten
Selenium vs. Playwright im Vergleich: Architektur, Wartezeit, Browser- und Sprachunterstützung, Debugging, der gleiche Test in beiden Tools, Migrati…
Artikel lesen →SoftwaretestsÄquivalenzpartitionierung: Testdesigntechnik anhand von Beispielen erklärt
Erklärung der Äquivalenzpartitionierung: Wie man gültige und ungültige Partitionen findet, Beispiele für Alter, Passwörter und Gutscheine, von uns d…
Artikel lesen →SoftwaretestsSchweregrad vs. Priorität beim Softwaretest: Unterschiede, Matrix und reale Beispiele
Schweregrad vs. Priorität beim Softwaretest erklärt: klare Definitionen, eine Vier-Wege-Matrix mit Beispielen, Stufenskalen, wer die einzelnen Punkt…
Artikel lesen →Datenbanken & SQLTutorial zu SQL-Unterabfragen: Typen, korrelierte Unterabfragen und EXISTS mit Beispielen
Ein SQL-Unterabfrage-Tutorial mit Abfragen, die wir ausgeführt haben: Skalar-, IN-, FROM- und SELECT-Unterabfragen, korrelierte Unterabfragen, EXIST…
Artikel lesen →Datenbanken & SQLSQL-Transaktionen und ACID erklärt: COMMIT, ROLLBACK und Isolationsstufen
SQL-Transaktionen und ACID anhand einer von uns durchgeführten Banküberweisung erklärt: COMMIT, ROLLBACK, Sicherungspunkte, Sperren, Isolationsstufe…
Artikel lesen →SoftwareentwicklungSpickzettel für Git-Befehle: Die Befehle, die Sie tatsächlich verwenden, mit Beispielen
Ein Git-Befehls-Spickzettel, gruppiert nach Aufgabe: Setup, Staging, Branches, Remotes, Stash, Verlauf und Rückgängigmachen von Fehlern, mit Ausgabe…
Artikel lesen →SoftwareentwicklungErklärte JavaScript-Versprechen: Dann, Catch, Promise.all und häufige Fehler
JavaScript-Versprechen erklärt mit Code, den wir ausgeführt haben: Zustände, dann und Fangketten, Fehlerbehandlung, Promise.all, allSettled, Rennen …
Artikel lesen →SoftwareentwicklungPython-Wörterbuch-Tutorial: Methoden, Beispiele und gängige Muster
Ein Python-Wörterbuch-Tutorial mit Code, den wir ausgeführt haben: Diktate erstellen, lesen und aktualisieren, Schlüsselmethoden, Zusammenführung, V…
Artikel lesen →Künstliche IntelligenzWas ist RAG? Retrieval-Augmented Generation anhand eines Arbeitsbeispiels erklärt
Was ist RAG? Abruf-erweiterte Generierung Schritt für Schritt erklärt: Indizierung, Chunking, Einbettungen, Abruf, ein kleines funktionierendes Pyth…
Artikel lesen →DevOpsTerraform-Tutorial für Anfänger: Infrastruktur als Code von der ersten Datei bis zu den Modulen
Ein Terraform-Tutorial für Anfänger: Beginnen Sie ohne Cloud-Konto, lernen Sie Init, Planen und Anwenden, dann Variablen, Ausgaben, Status, Module u…
Artikel lesen →DevOpsDocker vs. Kubernetes: Hauptunterschiede, wie sie zusammenarbeiten und was Sie brauchen
Docker vs. Kubernetes erklärt: Was jeder tut, die gleiche App läuft mit beiden, Docker Compose und Swarm im Vergleich, die Dockershim-Änderung und w…
Artikel lesen →TestautomatisierungPytest-Tutorial für Anfänger: Vorrichtungen, Parametrisierung und reale Beispiele
Ein Pytest-Tutorial für Anfänger mit Tests, die wir auf Pytest 9.2 durchgeführt haben: Assertions, Fixtures, Parametrize, Conftest, Markers, tmp_pat…
Artikel lesen →SoftwaretestsSoftware Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel
Der Softwaretest-Lebenszyklus erklärt: sechs STLC-Phasen mit Ein- und Ausstiegskriterien, Ergebnisse, ein Beispiel für eine funktionierende Anmeldef…
Artikel lesen →SoftwareentwicklungGit merge vs rebase: Unterschiede, Beispiele und wann man was nutzt
Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.
Artikel lesen →SoftwareentwicklungPython List Comprehension: Syntax, Beispiele und wann man darauf verzichtet
Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…
Artikel lesen →Datenbanken & SQLSQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)
SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…
Artikel lesen →