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]
Zahnschmerzen bei Wetterwechsel: Ursachen und was wirklich hilft
Mörfelden-Walldorf, 20.09.2026 (lifePR) - Du gehst morgens raus, die Luft ist kalt, ein Windstoß trifft dich und plötzlich schmerzt es im Zahn. Oder du merkst es beim ersten Schluck Kaffee, mit dem du eigentlich entspannt in den Tag starten möchtest.  Viele Menschen kennen genau diese Momente und wundern sich jedes Mal wieder, wie sehr ein Wetterwechsel […] (00)
vor 15 Stunden
Abgeordnetenhaus-Wahl Berlin - Wahlparty Die Linke
Berlin (dpa) - Die Linke in Berlin-Neukölln hat nach dem Besuch eines führenden Clan-Mitglieds auf einer Wahlparty betont, dass es weder politische noch persönliche Beziehungen zu der Person gebe. «Es handelte sich um eine öffentliche Veranstaltung, zu der auch ungeladene Personen Zutritt hatten», teilte Jorinde Schulz aus dem Bezirksvorstand der […] (03)
vor 51 Minuten
Madonna
(BANG) - Madonna hat ihren Vorsprung bei den diesjährigen MTV Video Music Awards weiter ausgebaut. Nachdem zunächst elf Nominierungen für die Pop-Ikone bekannt gegeben worden waren, kommen nun zwei weitere hinzu. Damit geht die 68-Jährige mit insgesamt 13 Chancen auf einen VMA ins Rennen. Grund für die zusätzlichen Nominierungen sind vier neue […] (01)
vor 14 Stunden
Review: DJI Osmo 360 II im Test: 8K/60 fps, AI SuperNight 2.0 & 360°-Aufnahmen auf neuem Niveau
360-Grad-Kameras haben sich in den vergangenen Jahren deutlich weiterentwickelt. Aus einer früher eher speziellen Kamerakategorie für außergewöhnliche Perspektiven sind inzwischen leistungsfähige Allrounder geworden, die Action-Cam, Vlogging-Kamera und kreatives Produktionswerkzeug miteinander verbinden können. Mit der neuen DJI Osmo 360 II geht DJI […] (01)
vor 4 Stunden
Portal-Film plötzlich wieder ein Thema: Backrooms-Regisseur abermals bei Valve
Seit mehr als einem Jahrzehnt geistert ein möglicher Portal-Film durch Hollywood. Jetzt gibt es erstmals seit langer Zeit wieder Bewegung rund um Valves Puzzle-Klassiker. Zumindest sieht es danach aus. Kane Parsons, Regisseur von „Backrooms“ und selbst großer Portal-Fan, war innerhalb weniger Monate bereits zum zweiten Mal in den Büros von Valve in […] (00)
vor 3 Stunden
Keine Programmänderung: «Tatort» läuft trotz Doppel-Wahl
Die politische Spannung nach den Wahlen in Berlin und Mecklenburg-Vorpommern führt zu keiner weiteren Verschiebung: Das Erste zeigt den Köln-Krimi um 20.25 Uhr. Der Tatort» leibt am Wahlsonntag im Programm. Trotz der Wahlen in Berlin und Mecklenburg-Vorpommern und der mit Spannung erwarteten Erklärung von Bundeskanzler Friedrich Merz hält Das Erste an seinem angekündigten Ablauf fest. Tatort […] (00)
vor 4 Stunden
Radsport Weltmeisterschaft in Montreal
Montreal (dpa) - Remco Evenepoel ist zum vierten Mal Weltmeister im Einzelzeitfahren und hat damit den Rekord von Tony Martin eingestellt. Mit einer überlegenen Vorstellung gewann der belgische Ausnahme-Radprofi in Montreal mit 57 Minuten Sekunden Vorsprung vor dem Italiener Filippo Ganna. Bronze ging an Paul Seixas. Dem 19 Jahre alte französischen Top-Talent fehlten 1: 13 Minuten […] (01)
vor 1 Stunde
man, business, adult, suit, bitcoin, cryptocurrency, blockchain, crypto, formal, confident
VanEck hat die Verwässerung im Rahmen der Bitcoin-Treasury-Strategie von Metaplanet genauer unter die Lupe genommen. Die Analyse zeigt, dass die Kapazität der Aktienoptionen für Führungskräfte einer Verwässerung von etwa 22,4% der Aktien entspricht. Das Problem liegt nicht im Verkauf von Bitcoin durch Metaplanet, sondern in der möglichen Verwässerung […] (00)
vor 27 Minuten
 
Chronisch krank durch Zahnerkrankungen: Warum die Ursache oft im Kiefer liegt
Höchst, 18.09.2026 (lifePR) - Chronisch krank durch Zahnerkrankungen: Warum die […] (00)
Konstanz, 18.09.2026 (PresseBox) - Mit M|MAKER verbindet exorbyte fehlertolerantes Data Matching und Retrieval mit den Anforderungen moderner KI und RAG Anwendungen Unternehmen […] (00)
Fulda, 19.09.2026 (PresseBox) - Feuer- und Rauchschutzabschlüsse müssen im Brandfall selbstständig schließen. Im täglichen Gebäudebetrieb sollen Türen und Tore jedoch häufig […] (00)
191. Münchner Oktoberfest - Eröffnung
München (dpa) - Das Münchner Oktoberfest hat einen Bilderbuchstart hingelegt: Bei […] (01)
ZDF schickt CSU-Parteitag erneut ins Nachtprogramm
Shakuntala Banerjee berichtet für «Standpunkte» aus München. In den vergangenen Jahren […] (00)
Tim Höttges
Berlin (dpa) - Telekom-Chef Tim Höttges mahnt mehr Zuversicht an, damit Deutschland […] (01)
Cyberpunk 2077 war nicht schuld: Darum wechselte CD Projekt bei The Witcher 4 die Engine
Der holprige Start von Cyberpunk 2077 war laut CD Projekt Red nicht der Grund für […] (00)
Paris Hilton
(BANG) - Paris Hilton und Nicole Richie arbeiten offenbar erneut gemeinsam an einem […] (00)
 
 
Suchbegriff