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

28. November 2025, 14:53 Uhr · Quelle: Pressebox
Artikelserie Test: Codeception (FE/Acceptance, API, Monitoring)
Foto: Pressebox
Artikelserie Test: Codeception (FE/Acceptance, API, Monitoring)
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]
Nächster Schritt zur Wertschöpfung aus Titandioxid-Vorkommen?
Lüdenscheid, 10.03.2026 (PresseBox) - Green Bridge Metals Corp. (ISIN: CA3929211025; WKN: A3EW4S), Green Bridge oder das Unternehmen, gibt bekannt, dass das Unternehmen plant, ausgewählte Diamantbohrkerne aus seinem Projekt “Titac” in Minnesota an ein kanadisches Labor zu schicken, sodass dort metallurgische Untersuchungen mit einem Schwerpunkt auf der […] (00)
vor 9 Stunden
Kamelmilch-Eis
Rottenburg am Neckar/Las Vegas (dpa) - Beim Eismachen ist Thomas Micolino erfinderisch und scheut auch nicht vor ungewöhnlichen Zutaten zurück. Eine seiner erfolgreichsten Kreationen besteht aus Kamelmilch. «Kamelatte» nennt er die Erfindung. Zufall war sie nicht: Wegen der chronischen Darmentzündung Morbus Crohn musste der 36-Jährige aus Baden- […] (00)
vor 1 Stunde
fischer Meister-Box XL Wohnraum 280-teiliges Dübelset für 19,99€
Für die Heimwerker unter euch. Bei Amazon gibt es die fischer Meister-Box XL Wohnraum 280-teiliges Dübelset für 19,99€. (Vergleichspreis: 28€) Ersparnis: 8€ Beschreibung: 280-teiliges Set mit DuoPower Dübeln in 5–10 mm Durchmesser Geeignet für Voll-, Loch- und Plattenbaustoffe sowie Gipskarton 2-Komponenten-Dübel passt sich automatisch dem […] (01)
vor 7 Stunden
Meta
Menlo Park (dpa) - Der Facebook-Konzern Meta kauft eine Online-Plattform, über die sich KI-Programme untereinander austauschen können. Mit dem Kauf des Dienstes Moltbook werde das Entwicklerteam in Metas Forschungslabor für Künstliche Intelligenz wechseln, bestätigte der Konzern US-Medien wie dem Sender CNBC und der «New York Times». Ein Kaufpreis wurde […] (01)
vor 3 Stunden
Capcom kündigt neue Inhalte für Resident Evil Requiem an
Capcom hat eine neue Videobotschaft zum Horror Spiel Resident Evil Requiem veröffentlicht. Darin spricht Director Koshi Nakanishi über kommende Inhalte und die nächsten Updates für den Titel. Neben technischen Verbesserungen kündigte er mehrere neue Features an, darunter einen Fotomodus, ein neues Minispiel und zusätzliche Story Inhalte. Das Spiel […] (01)
vor 9 Stunden
«War Machine» erobert Platz 1 der Top 10 dieser Woche
«The Dinosaurs» debütiert mit einem Paukenschlag, und die sinnliche Serie Vladimir entfacht eine neue Obsession. Die Army Rangers nehmen es in dem neuen Science-Fiction-Militär-Actionfilm War Machine mit einem außerirdischen Feind auf. Der Film debütiert mit 39,3 Millionen Aufrufen auf Platz 1 der Top 10 der englischen Filmliste in 93 Ländern. Alan Ritchson spielt einen Kampfingenieur, der nur […] (01)
vor 5 Stunden
Iran-Krieg - Irans Fußballerinnen
Canberra (dpa) - Eine weitere iranische Fußballerin sowie ein Mitglied des Teams haben nach dem Aus beim Asien Cup Asyl in Australien erhalten. Das teilte Innenminister Tony Burke in der Hauptstadt Canberra mit. Beide seien nun wieder mit fünf Fußballerinnen vereint, die bereits vor der Rückreise der Auswahl in die Heimat humanitäre Visa erhalten […] (01)
vor 5 Stunden
cryptocurrency, bitcoin, coin, money, digital, finance, crypto, cognac, liquor, clock
Der Ethereum-Kurs hat eine Erholungswelle über der $$2.000-Marke gestartet. Derzeit kämpft ETH jedoch damit, die $$2.090 zu überwinden, und es besteht das Risiko eines erneuten Rückgangs in naher Zukunft. Ethereum hat eine Erholungswelle über der $$2.000-Marke begonnen. Der Kurs handelt über $$2.000 und dem 100-Stunden-SMA […] (00)
vor 1 Stunde
 
Green Bridge Metals treibt Titandioxid-Gewinnung aus Ilmenit voran
Lüdenscheid, 10.03.2026 (lifePR) - Green Bridge Metals Corp. (ISIN: CA3929211025; […] (00)
Wenn weniger wirklich mehr ist: Wie ein Hotel am Ritten in Südtirol Nachhaltigkeit neu denkt
Ritten/Südtirol, 10.03.2026 (lifePR) - Kurz vor 18 Uhr legen die letzten Ruderboote […] (00)
Klimabildung: Lehr-Lern-Labor PHyLa mit LeLa-Preis 2026 ausgezeichnet
Karlsruhe, 10.03.2026 (lifePR) - Schwerpunkt des an der Pädagogischen Hochschule […] (00)
Linienbus ausgebrannt - Tote und Verletzte in der Schweiz
Kerzers (dpa) - Bei einem schweren Brand in einem Linienbus sind in der Schweiz sechs […] (00)
SodaStream DUO Wassersprudler Familien Set (Titan) für 104,99€
Frischgesprudeltes Wasser ohne Kistenschleppen. Bei Amazon gibt es den SodaStream DUO […] (01)
Screenshot von «Resident Evil: Requiem»
Hamburg/Berlin (dpa/tmn) - Seit ihren Anfängen im Jahr 1996 ist die «Resident Evil»- […] (00)
ATP-Tour - Indian Wells
Indian Wells (dpa) - Tennis-Profi Alexander Zverev steht beim Masters in Indian Wells im […] (02)
kostenloses stock foto zu aktienmarkt, bargeldlos, berlin
Der Kurs von XRP liegt derzeit bei etwa $1,40, nachdem der Markt nach einer […] (00)
 
 
Suchbegriff