Software Testing Life Cycle (STLC): 6 Phasen, Einstiegs- und Ausstiegskriterien, Beispiel

  1. Startseite
  2. Blog
  3. Softwaretests

Softwaretests

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.

9 Min. Lesezeit
Lebenszyklus von Softwaretests (STLC): sechs Phasen, Ein- und Ausstiegskriterien und ein Beispiel

Das Wichtigste

  • 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

Arbeiten Sie mit Stack Quora

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.

Lesen Sie weiter

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.

Künstliche Intelligenz

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 →
DevOps

Erklä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 →
Softwareentwicklung

API-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 →
Testautomatisierung

Spott 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 →
Softwaretests

Code-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 & SQL

DELETE 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 & SQL

Erklä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 →
Softwareentwicklung

TypeScript-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 →
Softwareentwicklung

Python *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 →
Softwareentwicklung

Python-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 Intelligenz

Was 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 →
DevOps

Docker-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 →
Testautomatisierung

TDD 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 →
Softwaretests

Benutzerakzeptanztests (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 & SQL

Erklä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 & SQL

SQL 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 →
Softwareentwicklung

Was 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 →
Softwareentwicklung

Erklä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 →
Softwareentwicklung

Erklä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 Intelligenz

Was 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 →
DevOps

Blau-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 →
Testautomatisierung

Flaky-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 →
Softwaretests

Lasttest 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 →
Softwaretests

Testfall 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 & SQL

SQL-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 & SQL

SQL 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 →
Softwareentwicklung

Tutorial 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 →
Softwareentwicklung

Umgang 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 →
Softwareentwicklung

Python-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 Intelligenz

Was 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 →
DevOps

Linux-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 →
Testautomatisierung

Selenium 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 →
Softwaretests

Schweregrad 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 & SQL

Tutorial 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 & SQL

SQL-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 →
Softwareentwicklung

Spickzettel 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 →
Softwareentwicklung

Erklä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 →
Softwareentwicklung

Python-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 Intelligenz

Was 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 →
DevOps

Terraform-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 →
DevOps

Docker 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 →
Testautomatisierung

Pytest-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 →
Softwaretests

Software 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 →
Softwareentwicklung

Git 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 →
Softwareentwicklung

Python 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 & SQL

SQL 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 →