Seminarbeschreibung
Beispieltests decken nur die ausgewählten Eingaben ab. Gerade bei KI-generierten Implementierungen können Code und Beispiele denselben unbemerkten Denkfehler enthalten. Das Seminar erweitert die Prüfung um fachliche Eigenschaften, systematisch erzeugte Testdaten und Mutationstests. Erwartete Beziehungen werden aus der Spezifikation gewonnen und vor ihrer Automatisierung auf Plausibilität geprüft.
Eigenschaftsbasiertes Testen sucht Gegenbeispiele; Mutationstests untersuchen, ob vorhandene Tests gezielte Veränderungen erkennen. Beide Verfahren werden kritisch ausgewertet. Eine ungeeignete Eigenschaft kann falsche Sicherheit schaffen, und ein überlebender Mutant ist nicht automatisch ein Produktfehler. Der Schwerpunkt liegt auf aussagekräftigen Tests und reproduzierbarer Fehlersuche.
Lernziele
- Fachliche Invarianten und metamorphe Beziehungen als Tests formulieren.
- Geeignete Eingabegeneratoren entwickeln und Gegenbeispiele reproduzieren.
- Mutationsergebnisse zur gezielten Verbesserung einer Testsuite verwenden.
- Testlücken von äquivalenten Mutationen und ungeeigneten Annahmen unterscheiden.
Inhaltsübersicht
- Eigenschaften aus Anforderungen
- Generatoren und Eingabedomänen
- Gegenbeispiele und Reproduzierbarkeit
- Metamorphe und zustandsbezogene Tests
- Mutationstests ausführen und deuten
- Tests gezielt verbessern
Seminarinhalte
Eigenschaften aus Anforderungen
Allgemeine Verhaltensregeln werden aus fachlichen Vorgaben abgeleitet. Beispiele betreffen Wertebereiche, Erhaltung von Summen, Idempotenz und Sortierreihenfolgen. Es wird geprüft, unter welchen Vorbedingungen eine Eigenschaft tatsächlich gelten muss.
- Eigenschaften zunächst mit kleinen Gegenbeispielen hinterfragen.
- Vorbedingungen und erlaubte Ausnahmen präzise beschreiben.
- Implementierungsdetails nicht zur fachlichen Erwartung erklären.
Generatoren und Eingabedomänen
Testdaten werden entsprechend der gültigen und ungültigen Eingaberäume erzeugt. Randwerte, verschachtelte Daten und abhängige Felder erhalten besondere Aufmerksamkeit. Übermäßige Filterung wird auf nicht erreichte Testbereiche geprüft.
- Leere, minimale, maximale und ungewöhnliche Werte berücksichtigen.
- Generatoren für zusammengehörige Geschäftsobjekte aufbauen.
- Gültige und absichtlich ungültige Daten gezielt unterscheiden.
Gegenbeispiele und Reproduzierbarkeit
Ein fehlgeschlagener Lauf wird auf ein erklärbares Gegenbeispiel reduziert. Eingabe, Werkzeugstand und Reproduktionsparameter werden festgehalten. Reproduktion wird unter denselben Voraussetzungen überprüft, bevor die Implementierung verändert wird.
- Verkleinerte Gegenbeispiele fachlich erklären.
- Seed und Replay-Informationen passend zum Werkzeug sichern.
- Bestätigte Defekte als dauerhafte Regressionstests aufnehmen.
Metamorphe und zustandsbezogene Tests
Wenn konkrete Sollwerte schwer zu bestimmen sind, werden fachlich begründete Beziehungen zwischen mehreren Ausführungen geprüft. Zustandsfolgen werden an einem überschaubaren Modell untersucht. Die Qualität des Modells wird unabhängig bewertet.
- Beziehungen bei Eingabetransformationen begründen.
- Operationen und erlaubte Zustandsübergänge modellieren.
- Differenztests nur mit einer geeigneten, geprüften Vergleichsbasis einsetzen.
Mutationstests ausführen und deuten
Gezielte Änderungen am Produktivcode prüfen die Erkennungsleistung der Tests. Überlebende, nicht erreichte und ungültige Mutanten werden getrennt untersucht. Äquivalente Veränderungen erhalten eine dokumentierte Begründung statt künstlich ergänzter Assertions.
- Den Mutationsumfang auf relevante Geschäftslogik begrenzen.
- Schwache Assertions und fehlende Fehlerszenarien erkennen.
- Mutationsergebnisse mit Laufzeit und Abdeckung gemeinsam beurteilen.
Tests gezielt verbessern
Ausgewählte Lücken werden mit fachlich sinnvollen Tests geschlossen. Anschließend werden Originalcode, Mutationsergebnisse und Ausführungsdauer erneut geprüft. Schwellenwerte entstehen aus dem Risiko und nicht aus dem Wunsch nach einer perfekten Kennzahl.
- Testverbesserung an bestätigten Prüflücken nachweisen.
- Neue Tests auf übermäßige Kopplung an die Implementierung prüfen.
- Eine tragfähige Auswahl für regelmäßige CI-Läufe festlegen.
Praxisübungen
- Fachliche Regeln eines generierten Preis- und Rabattmoduls unabhängig formulieren.
- Eigenschaften und Eingabegeneratoren mit fast-check implementieren.
- Gefundene Gegenbeispiele reproduzieren und als Regressionen sichern.
- StrykerJS für die relevante Geschäftslogik ausführen und Überlebende untersuchen.
- Tests gezielt verbessern und den Zugewinn durch einen erneuten Lauf bewerten.
Arbeitsweise und Schulungsumgebung
TypeScript, Vitest, fast-check und StrykerJS in einem vorbereiteten Projekt. Das Seminar führt einen Technikstapel durchgängig praktisch aus.
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage, ca. 6 Unterrichtsstunden pro Tag (Pausen zusätzlich); Beginn am 1. Tag: 10:00 Uhr; weitere Tage: 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene Entwickler, Testautomatisierer und QA-Engineers mit Verantwortung für komplexe Geschäftslogik oder besonders belastbare Regressionstests. |
| Voraussetzungen: | Sichere Programmier- und Unit-Test-Kenntnisse, Git sowie TypeScript- oder JavaScript-Erfahrung. Kenntnisse aus dem Seminar zu Unit-Tests und Testdesign oder gleichwertige Praxis werden vorausgesetzt. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
