Testing/E2E: Anleitungen und Praxiswissen | Seite 14 | mironsoft Blog
Testing/E2E
-
07.02.2025
Wer Bash-Skripte als monolithischen Block schreibt, kann sie kaum sinnvoll testen. Erst die Trennung in reine, isolierte Funktionen macht Unit-Tests fuer Bash ueberhaupt moeglich, und mit bats-core lassen sich Rueckgabewerte, stdout und Fehlerpfade genauso strukturiert pruefen wie in jeder anderen Programmiersprache.
-
06.02.2025
Shift-Left-Testing bedeutet, Fehler beim Entwurf und beim Schreiben von Code zu erkennen, statt sie einer dedizierten QA-Phase am Ende zu überlassen. Entwickler, die ihre eigenen End to End Tests schreiben und besitzen, statische Analyse konsequent nutzen und Code nicht mehr über die Wand zur QA werfen, verkürzen Feedback-Zyklen spürbar und senken die Kosten jedes gefundenen Fehlers erheblich.
-
05.02.2025
Ein einzelner Testlauf beantwortet ausschließlich die Frage, ob die Testsuite in diesem konkreten Moment erfolgreich war, verrät aber nichts darüber, ob ein bestimmter Test in den vergangenen drei Monaten wiederholt sporadisch fehlgeschlagen ist, ob die Gesamtlaufzeit der Suite kontinuierlich wächst, oder ob bestimmte Wochentage systematisch mehr Fehlschläge produzieren als andere. Erst eine systematisch aufgebaute, über längere Zeiträume gepflegte Historie macht diese Muster überhaupt sichtbar und liefert damit die eigentliche Grundlage für fundierte Entscheidungen über die Weiterentwicklung der Testsuite, statt sich ausschließlich auf den Eindruck des jeweils letzten Laufs zu verlassen.
-
31.01.2025
Wer Rabatt- und Steuerberechnungen nur mit ein paar handverlesenen Beispielwerten testet, prüft lediglich die Fälle, die einem beim Schreiben eingefallen sind. Property-Based Testing lässt eine Bibliothek hunderte zufällige Eingaben erzeugen, eine allgemeine Eigenschaft wie niemals negativ prüfen, automatisch Randfälle finden und jeden Fehlschlag per Shrinking auf das kleinstmögliche Gegenbeispiel reduzieren.
-
31.01.2025
Device-Emulation in Cypress und Playwright simuliert Viewport, User-Agent und Touch-Events in Sekundenschnelle und liefert damit schnelles Feedback in jeder CI-Pipeline. Was dabei unsichtbar bleibt, sind reale GPU- und CPU-Grenzen, echte Mobilfunk-Latenz und die Rendering-Eigenheiten von Safari auf iOS. Dieser Artikel zeigt konkret, wann Emulation genügt und wann Cloud-Testing mit echten Geräten wie BrowserStack oder Sauce Labs unverzichtbar wird.
-
28.01.2025
Statisch getippte Frontends verlassen sich oft blind auf handgeschriebene Interfaces, während sich die API im Hintergrund längst weiterentwickelt hat. Aus einer einzigen OpenAPI-Spezifikation generierte TypeScript-Typen, kombiniert mit Laufzeitvalidierung durch zod, schließen genau diese Lücke und halten Backend und Headless-Frontend in Magento- und PWA-Projekten dauerhaft synchron.
-
24.01.2025
Visual-Regression-Tests versprechen, jede unbeabsichtigte optische Änderung an einer Seite zuverlässig aufzudecken, indem ein aktueller Screenshot automatisiert mit einer gespeicherten Referenzaufnahme verglichen wird. In der praktischen Anwendung zeigt sich jedoch schnell, dass der zugrunde liegende Diffing-Algorithmus über Erfolg oder Misserfolg dieses Ansatzes entscheidet: Ein zu einfacher, strikter Pixel-für-Pixel-Vergleich meldet bei jedem Testlauf Dutzende belangloser Abweichungen durch Anti-Aliasing und Sub-Pixel-Rendering, während ein zu großzügiger Vergleich echte, relevante Regressionen unbemerkt durchwinkt.
-
19.01.2025
Eine Teststrategie, die nur im Wiki dokumentiert ist, verändert das Verhalten eines Teams nicht von selbst. Erst wenn Pyramidendenken im Code Review, in der Definition of Done und in einer schrittweisen Migration bestehender Tests verankert wird, entsteht eine gesunde Verteilung zwischen schnellen Unit Tests und teuren End to End Tests, die auch unter Zeitdruck Bestand hat.
-
14.01.2025
Eine reine Konsolenausgabe mit grünen und roten Haken beantwortet zwar die Frage, ob ein Testlauf erfolgreich war, liefert aber weder den nötigen visuellen Kontext für einen Fehlschlag noch eine Möglichkeit, die Entwicklung der Testsuite über mehrere Wochen hinweg nachzuvollziehen. Allure Report schließt diese Lücke, indem es aus den strukturierten Ergebnissen von Cypress, Playwright oder praktisch jedem anderen Test-Framework ein interaktives, durchsuchbares HTML-Dashboard erzeugt, das Screenshots, Videos, Schritt-für-Schritt-Protokolle und Trend-Grafiken über mehrere Läufe hinweg an einem zentralen Ort zusammenführt.
-
14.01.2025
Wer Testdaten als lose getippte Objektliterale schreibt, riskiert stillen Verfall, sobald sich der zugrunde liegende Domain-Type ändert und ein neues Pflichtfeld entsteht. Typsichere Factory-Funktionen mit Partial-T und sinnvollen Defaults zentralisieren Testdaten an einer Stelle, erzwingen Synchronität mit dem echten Interface und halten Vitest-Suiten über hunderte Testdateien hinweg wartbar und konsistent.