Artikelserie Test: Codeception (FE/Acceptance, API, Monitoring)

28. November 2025, 14:53 Uhr · Quelle: Pressebox
Erfahren Sie, wie Codeception den vollständigen Anwendungsstack testet und Datenflüsse analysiert. Diese Methode gewährleistet zuverlässige Software in Entwicklungs- und Live-Umgebungen.

Karlsruhe, 28.11.2025 (PresseBox) - Als Entwickler sollte man sich immer darauf verlassen können, dass der Code, den man schreibt, so funktioniert wie er soll, und dass er keine Nebenwirkungen auf ältere, bereits bestehende Funktionen hat. Zu diesem Zweck gibt es automatische Tests. Wie mein Team bei der punkt.de diese verwendet, kann man in der Artikelserie über Tests nachlesen.

In den ersten beiden Tests haben wir den Code geprüft und getestet. In diesem Teil wollen wir jetzt testen, welche Daten wirklich fließen und was Benutzer tatsächlich sehen.

Was Gurken mit Tests zu tun haben

Für alle folgenden Tests verwenden wir den gleichen Test-Code-Stack – wir verwenden Codeception als Testrunner und darin das Konzept von Behaviour Driven Testing, für welches die Sprache Gherkin (zu Deutsch Gurke) verwendet wird.

Wie man sehen kann, steht in dieser Syntax die Benutzerinteraktion im Vordergrund – es wird sehr selten mit CSS-Selektoren gerarbeitet, normalerweise wird ein Vorgang immer auf eine Art beschrieben, wie ein Benutzer die Anwendung verwenden würde.

Durch die eher einfach gehaltenen Schritte und den Fokus auf den tatsächlichen Inhalt der Website kann man sehr komplexe Abläufe abbilden – und wie bei den anderen Tests wird keine Logik versteckt. Man erkennt auch wieder AAA, wobei Act und Assert mehrmals in beliebiger Reihenfolge durchgeführt wird.

Acceptance für die Funktionen

Was wird dabei aber wirklich getestet? Im Beispiel-Code wird ein Acceptance-Test gezeigt. Dieser steuert einen Browser - wahlweise ein normaler Chrome-Browser mit allen Features oder ein Headless Chrome innerhalb eines Docker-Containers in der Entwicklungs- und CI-Umgebung – und klickt sich durch die fertige Anwendung.

Acceptance-Tests sind bei uns so definiert, dass vor dem Testlauf ein definierter, in git abgelegter Datenbankstand importiert wird, der pro Test optional ergänzt werden kann, und anschließend wird der Test durchgeführt. Am Ende jedes Tests wird die Datenbank wieder auf den definierten Stand zurückgesetzt. Dadurch kann man beliebige Vorgänge beliebig häufig testen – beispielsweise eine Benutzer-Anlage. Wenn der Datenstand nicht immer gleich wäre, könnte der Test nur einmal durchgeführt werden, da ein User mit einem Benutzernamen nur einmal angelegt werden darf, und hätte man einen zweiten Test um den User zu löschen müsste man diese Tests immer nacheinander ausführen, damit man keine Inkonsistenzen verursacht.

Diese Tests testen immer den kompletten Anwendungsstack – Webserver-Config, Backend- und Frontend-Code, CSS (beispielsweise display: none hat Auswirkungen auf Testaufrufe wie „I should see“), Datenbank und Inhalte, der Inhalt des Dateisystems – you name it, you test it. Dabei muss man natürlich beachten, dass Tests, welche immer die Website oder -App rendern und mehrmals Klicken und Formulare ausfüllen und absenden entsprechend lange laufen können, weswegen man diese Tests normalerweise nicht als Hauptsache, sondern als Ergänzung zu anderen, schnelleren Tests verwendet.

API-Testing in schneller

Unser größtes Projekt derzeit ist eine React-Anwendung mit einem TYPO3-Backend. Uns haben die Tests zu lange gedauert (selbst mit Parallelisierung und ähnlichem), vor allem wenn wir für verschiedene Berechtigungen und für nicht eingeloggte User die korrekte Daten-Sichtbarkeit prüfen wollten. Für diesen Zweck verwenden wir darum API-Tests, welche ebenfalls in Gherkin mit Codeception geschrieben werden, aber intern Guzzle verwenden.

Diese Tests haben leicht andere Steps (Beispiel: „Given that the API is logged in as 'user'“), wodurch Codeception so gesteuert wird, dass eben Guzzle die Befehle ausführt, und wir testen dann direkt die API-URLs, die Requests und Responses mit JSON-Aufrufen und die Datenbank-Inhalte. Der Vorteil - während einfache Acceptance-Tests wie Login mit Prüfung auf den Inhalt der Startseite 4 Sekunden benötigen, benötigt die API-Only-Stage für einen ähnlichen Test ein paar Millisekunden.

Unser Ablauf besteht häufig darin, dass die API die verschiedenen Fälle und Daten prüft (ohne Login, verschiedene Berechtigungen, gültige Daten, ungültige Daten, Daten aus der Vergangenheit/von Heute/aus der Zukunft usw.) und die FullStack-Tests dann prüfen, dass die Anwendung sich in einem Erfolgsfall und in einem Fehlerfall korrekt verhält. Außerdem testen wir im FullStack auch FE-eigene Funktionen wie z.B. dass Formularfelder sich unterschiedlich verhalten, je nachdem, was ein User ausfüllt.

Wir wollen Fehler sehen, bevor sie für den Kunden relevant werden

Außerdem verwenden wir Codeception und Gherking für eine dritte Testing-Suite. Die FullStack- und API-Tests werden immer auf jeden Commit und den Main-git-Stand ausgeführt, wenn Änderungen passieren, aber damit immer nur für den Stand auf der Entwicklungs-Umgebung. Mit der dritten Suite testen wir Funktionen direkt auf dem Livesystem des Kunden.

Auch hier verwenden wir den Browser und User-ähnliche Schritte, wir achten aber darauf, dass wir innerhalb der Tests keine Daten verändern, und dass wir nicht auf veränderbare Daten prüfen – beispielsweise Testen wir beim Aufruf einer Aktivität (wie oben im Beispielcode) nicht auf ein genaues Datum oder einen genauen Vor- und Nachnamen, sondern wir testen darauf, dass ein beliebiges Datum und ein beliebiger Name angezeigt werden – diese Info reicht uns, um zu wissen, dass unser Live-System den Inhalt korrekt rendert.

Das Ziel dieser Tests besteht darin, dass wir nach Deployments oder nach nächtlichen Importern und ähnlichem wissen wollen, dass das Produktivsystem weiterhin funktioniert, und wenn nicht wollen wir die Info bekommen, bevor es Auswirkungen für tatsächliche Website-Benutzer gibt. In einem älteren Projekt gab es tatsächlich den Fall, dass wir durch Tests morgens gegen 8:00 Uhr wussten, dass es einen Fehler gibt – diesen konnten wir innerhalb von ein paar Minuten beheben, und als die Benutzer um 8:30 bis 9:00 Uhr angefangen haben, die Anwendung zu verwenden, konnten diese fehlerfrei arbeiten.

Verwendete Tools

Für die Übersetzung der Gherkin-Syntax in Codeception-Aufrufe gibt es im Codeception-Umfeld Methoden, die man selbst programmieren kann. Wir haben Standard-Steps, welche immer wieder verwendet werden, in diverse Composer-Pakete aufgeteilt und auf Github und Packagist veröffentlicht. Diese Repository befinden sich imAccount/Vendor der punkt.de, inklusive einem kleinen Demo-Projekt, in welchem man die Verwendung nachlesen kann.

Abschluss

Dies war der letzte Teil unserer Test-Reihe. Damit können nun Anwendungen getestet werden – von der Codequalität bis zur korrekten Funktionsweise auf dem Livesystem.

Agiles Testing und Prozess-Know-how für Ihr Team:

Egal ob Agentur, Industrieunternehmen oder ein eigenständiges Entwicklerteam: Wenn Sie agile Testing-Prozesse etablieren oder weiterentwickeln wollen, unterstützen wir Sie mit unserem Know-how – sei es durch praxisorientierte Workshops oder durch direkte, projektbezogene Mitarbeit. Wir begleiten Sie von der Einführung agiler Testmethoden über die Optimierung bestehender Abläufe bis hin zur Entwicklung und Umsetzung individueller Testing-Strategien.

Sprechen Sie uns gerne an, um gemeinsam Ihre Qualitätssicherung und Entwicklungsprozesse auf ein neues Level zu heben!

Software / Codeception / Acceptance Tests / API Testing / Monitoring
[pressebox.de] · 28.11.2025 · 14:53 Uhr
[0 Kommentare]
Wunderlich Anfahrt 2026
Grafschaft-Ringen, 27.05.2026 (PresseBox) - Freuen Sie sich auf unser großes Motorradfest in der Eifel: entspannte Bikeratmosphäre, Partnermeile, Food-Trucks und das diesjährige Motto „Fahren & Erleben“ bieten gleichgesinnten Motorradfahrern einen Tag voller Begegnungen, Technik und Fahrfreude. Die diesjährige Anfahrt steht unter dem Motto: Wunderlich […] (00)
vor 7 Stunden
DRK-Helfer (Archiv)
Berlin - Der Präsident des Deutschen Roten Kreuzes, Hermann Gröhe, fordert eine Verdoppelung des Taschengeldes für junge Menschen, die ein Freiwilliges Soziales Jahr (FSJ) absolvieren. Dies sei auch nötig, um angesichts des finanziell lukrativen Wehrdienstes genügend Freiwillige zu gewinnen, sagte er dem "Redaktionsnetzwerk Deutschland" […] (01)
vor 57 Minuten
Solarzellen dünner als ein Haar sollen Stadtfenster zu Kraftwerken machen
Wer in einer Großstadt Solarenergie ernten will, steht vor einem alten Problem: Wo sollen die Panels hin? Dächer sind knapp, Fassaden hässlich, und freie Flächen gibt es im Stadtinneren kaum. Forschende der Nanyang Technological University (NTU) in Singapur haben jetzt eine mögliche Antwort entwickelt, die buchstäblich unsichtbar ist. via NTU […] (01)
vor 5 Stunden
Herbertz stellt praktische Produkt-Highlights für Camping, Vanlife und Trekking vor
Ob Trekkingtour, Campingurlaub oder spontane Auszeit in der Natur, funktionale Begleiter machen draußen den entscheidenden Unterschied. Mit einer neuen Auswahl an Produkten für Outdoor-Küche, Reisekomfort und Camping präsentiert  Herbertz  praktische Highlights für alle, die Wert auf durchdachte Funktionalität, kompakte Bauweise und langlebige […] (00)
vor 6 Stunden
Under a Rock: Kreaturenzähmung und Begleiter in neuem Gameplay-Video & Dev-Blog enthüllt
In Dev Blog #4 enthüllt Entwickler Nordic Trolls das Kreaturzähmungs- und Begleitersystem von  Under a Rock , eines der meistgefragten Features unter den über 450.000 Spielern, die das Game bereits auf ihrer Wishlist haben. Mit dem Dev Blog #4 erscheint außerdem ein neuer Gameplay-Trailer, der die außergewöhnlichen Kreaturen und das vollständige […] (00)
vor 3 Stunden
ESPN überträgt erneut exklusiv die Women’s College World Series
Der US-Sportsender begleitet das NCAA-Softballturnier bereits zum 25. Mal vollständig live aus Oklahoma City. ESPN präsentiert auch 2026 die komplette Women’s College World Series exklusiv im Fernsehen und Streaming. Das Turnier startet am Donnerstag, den 28. Mai, im Devon Park in Oklahoma City und endet mit der Finalserie ab dem 3. Juni. Gespielt wird zunächst im Double-Elimination-Format mit […] (00)
vor 1 Stunde
Crystal Palace - Rayo Vallecano
Leipzig (dpa) - Triumphale Palast-Revolution: Oliver Glasner hat zum zweiten Mal binnen vier Jahren einen Europapokal gewonnen und den Londoner Mittelklasseclub Crystal Palace zum größten Erfolg seiner Geschichte geführt. Das Team des früheren Bundesliga-Trainers gewann das Finale der Conference League in Leipzig gegen den spanischen Vertreter Rayo […] (02)
vor 2 Stunden
kostenloses stock foto zu altcoin, bitcoin, bitcoin-handel
Die langfristige Sicherheitsarchitektur von Bitcoin steht erneut im Fokus, nachdem neue Daten von Glassnode darauf hinweisen, dass das Netzwerk in einer Zukunft mit fortschrittlicher Quantencomputing-Technologie theoretischen Risiken ausgesetzt sein könnte. Der Bericht zeigt, dass ein erheblicher Teil des zirkulierenden Bitcoin-Angebots in der Zukunft […] (00)
vor 36 Minuten
 
Knappe Entscheidung: Nösberts-Weidmoos gewinnt mit 0,33 Prozentpunkten Vorsprung
Vogelsbergkreis, 27.05.2026 (lifePR) - Ganz knappe Entscheidung: Mit einem Vorsprung von gerade […] (00)
Automatisierung beginnt nicht erst in der Steuerung
Lippstadt, 27.05.2026 (PresseBox) - In einem zunehmend wettbewerbsintensiven […] (00)
CE-Kennzeichnung praxisgerecht umsetzen und rechtssicher dokumentieren
Berlin, 27.05.2026 (PresseBox) -   Schneider, André Zertifizierung im Rahmen der […] (00)
Greenpeace-Protest (Archiv)
Berlin - Nach der Veröffentlichung des diesjährigen "Global Wealth Reports" der […] (01)
Neues zur nicht-invasiven Blutzuckerüberwachung der Apple Watch
Wie Mark Gurman von Bloomberg kürzlich berichtete, hat Apple die Leitung des Projekts […] (00)
Sir Paul McCartney hat zugegeben, dass er eine Parallele zwischen Taylor Swift und den Beatles sieht.
(BANG) - Sir Paul McCartney hat Taylor Swifts "weltweiten Ruhm" mit der Fan-Hysterie […] (00)
Mario Kart World: Laut Nintendo kein Open World Titel
Mit Mario Kart World hat Nintendo einen der größten Umbrüche der Mario Kart […] (00)
French Open
Paris (dpa) - Statt unbeschwert den größten Erfolg ihrer Karriere zu bejubeln, musste […] (01)
 
 
Suchbegriff