Artikelserie Test: Unit, Functional, Coverage

24. November 2025, 07:55 Uhr · Quelle: Pressebox
Artikelserie Test: Unit, Functional, Coverage
Foto: Pressebox
Ein kleiner Beispieltest für einen einfachen Validator
Unit-Tests stellen sicher, dass einzelne PHP-Methoden korrekt funktionieren. Functional Tests prüfen die Integration in das Gesamtsystem für zuverlässige Ergebnisse.

Karlsruhe, 24.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.

Im ersten Teil der Serieging es darum, dass geprüft wird, dass unser Code immer den selben Stil hat, sauber verwendet wird und Fremdlibraries aktuell sind. Nun wollen wir prüfen, dass der Code auch wirklich die Funktion erfüllt, die er soll.

Unit-Tests – klein aber fein

Der erste Schritt dazu sind Unit-Tests, welche wir insbesondere im Backend für den PHP-Code schreiben. Die Tests selbst werden mit dem Tool phpUnit umgesetzt.

Die Idee davon ist, dass Code schreibt, welcher von einer Klasse, welche man Testen möchte, einzelne Methoden aufruft und prüft, dass bei entsprechend befüllten Argumenten immer das korrekte Ergebnis ausgegeben wird.

Ein kleiner Beispieltest für einen einfachen Validator:

Für Unittests gibt es ein paar kleine Ideen:

  1. Man testet das „public Interface“ einer Klasse:Normalerweise will man nur die Methoden testen, die wirklich von außen aufgerufen werden, da diese im Endeffekt die Funktionalität widerspiegeln
  2. Dependencies – insbesondere Fremdcode – wird gemockt:Da man genau die eine Funktion testen möchte, und nicht einen großen Funktionen-Baum (mit Code, den man gar nicht unter Kontrolle hat), sagt man phpUnit „rufe nicht die Original-Dependency auf, sondern gib an der Stelle immer X zurück“
  3. AAA – Arrange, Act, Assert:Ein Test ist dann am einfachsten zu verstehen, wenn man zuerst alles vorbereitet (Arrange), dann alles ausführt (Act) und am Ende prüft, ob die Ergebnisse korrekt waren (Assert)
  4. Keine Logik in Tests:Die Logik, die man testet, ist innerhalb der getesteten Methoden. Wenn man zu viel Logik innerhalb eines Tests schreibt, dann braucht man einen Test für den Test, und damit hat man zu wenig Gewinn
Natürlich gibt es Ausnahmen zu diesen Ideen; Beispielsweise hatten wir im Team vor Jahren einen Test, der in einer Klasse genau eine protected Methode getestet hat, da diese das Kernstück der Klasse war und alle public Methoden nur diese protected aufgerufen hatten. Damit konnten wir uns Testaufwand sparen. Auch kann man zu viel Mocken und beispielsweise dafür sorgen, dass man nicht mehr echten Code testet, sondern nur noch die Mocks. Dies sind Fallstricke, die man immer wieder prüfen muss und die bei jedem Test wieder auf's neue Relevant werden.

Mit Unit-Tests wissen wir nun, dass unsere Puzzelteile im Code korrekt funktionieren, nun müssen wir prüfen, dass diese auch korrekt zusammengesetzt werden.

Funktionale Tests - die Summe der kleinen Teile

In den Unit-Tests wird nur eine einzelne Codestelle aufgerufen. Wir wollen nun wissen, dass die Codestellen zusammen mit dem verwendten Backend-Framework (in unserem Fall TYPO3 Extbase) in der Anwendungslogik korrekt funktionieren. Zu diesem Zweck schreiben wir Funtional Tests nach der entsprechendenTYPO3-Doku.

Dadurch, dass wir die Tests innerhalb eines TYPO3-Contextes aufrufen, stellen wir sicher, dass das „Außenherum“ korrekt initialisiert ist. Anschließend können wir Tests schreiben, welche beispielsweise Zugriff auf eine (teilweise generierte) Datenbank haben – in unserem Fall testen wir beispielsweise einen Importer.

Wir bereiten eine CSV-Datei vor, rufen innerhalb des Tests die Import-Methode auf und können danach in der Datenbank verifizieren, dass die Zeilen genau den Stand haben, den wir erwarten – wieder sehen wir AAA (Arrange, Act, Assert). Importer sind hier nur ein Beispiel, man kann theoretisch auch Scheduler-Tasks, Controller-Actions, Middlewares und anderes aufrufen.

Wir wissen, was wir testen – aber was testen wir genau?

Ein Thema, welches bei uns im Team derzeit noch nicht dediziert umgesetzt wird, aber zukünftig eingeplant wird, ist das Erfassen der Code Coverage. Man kann in phpUnit konfigurieren, welche Quellcode-Dateien theoretisch Teil des Testumfeldes sind, und phpUnit erfasst dann für diese Dateien, welche Methoden, Codezeilen und ähnliches innerhalb der Tests wirklich aufgerufen werden.

Daraus kann man sich dann eine Liste erstellen, in der man sieht, ob man z.B. in einer komplexen Methode Pfade entwickelt hat, welche nicht getestet sind, oder ob es ungetestete Klassen gibt. Außerdem wird eine Statistik erstellt, welche prozentual angibt, wie hoch der Anteil des getesteten Codes wirklich ist.

Ausblick

Im ersten Artikel hatten wir auf die Qualität des Codes geschaut, in diesem Teil auf die Funktionen innerhalb der php-Klassen. Im nächsten Teil unserer Serie werden wir darauf schauen, wie wir Teile unserer eigentlichen Anwendung testen.

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!

Autor:Christian Keuerleber

Software / Unit-Tests / Functional-Tests / PHP / Code-Coverage
[pressebox.de] · 24.11.2025 · 07:55 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 5 Stunden
Justizzentrum Halle (Saale) (Archiv)
Berlin - Der Deutsche Richterbund hat davor gewarnt, dass sich das geplante Gesetz zum Schutz von Frauen vor Gewalt als "Papiertiger" entpuppen könnte. "Die Regierungschefs der Länder müssen vom Fordern ins Handeln kommen", sagte Richterbund-Geschäftsführer Sven Rebehn den Zeitungen der Funke-Mediengruppe (Mittwochausgaben). "Das jetzt von der […] (00)
vor 13 Minuten
Ozzy Osbourne
(BANG) - Das ehemalige Haus von Ozzy Osbourne in Malibu ist bei den verheerenden Waldbränden, die im vergangenen Jahr über Kalifornien hinwegfegten, "abgebrannt". Der Black-Sabbath-Star besaß früher ein Strandgrundstück in dem Küstenort, verkaufte es jedoch 2012 für knapp unter 8 Millionen Dollar. Kurz darauf entschied sich der Rocker, mit seiner Frau […] (00)
vor 8 Stunden
Screenshot von «Resident Evil: Requiem»
Hamburg/Berlin (dpa/tmn) - Seit ihren Anfängen im Jahr 1996 ist die «Resident Evil»-Reihe fester Bestandteil des Horror-Game-Genres. Die Serie erlebte mit dem actionlastigen und genreprägenden vierten Teil 2005 ihr Hoch, Tiefpunkt war der unter Fans umstrittene sechste Teil 2012. Nun hat Entwickler Capcom die Reihe durch eine Rückkehr zu ihren Survival- […] (00)
vor 1 Stunde
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 […] (00)
vor 5 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 […] (00)
vor 1 Stunde
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 1 Stunde
business, computer, security, currency, finance, bitcoin, money, digital, financial, technology
Der XRP-Kurs befindet sich an einem entscheidenden Punkt, der darüber entscheiden könnte, ob der größere Zyklus der Kryptowährung noch Potenzial hat. Obwohl der Kurs derzeit um $1,40 schwankt, deutet eine neue technische Analyse darauf hin, dass die aktuelle Schwäche nicht der Beginn eines tieferen Einbruchs sein muss. Vielmehr könnte es sich um eine bekannte […] (00)
vor 1 Stunde
 
Einbruchschutz nachrüsten – historische Villen sicher modernisieren
Gelting, 10.03.2026 (PresseBox) - Historische Villen und repräsentative […] (00)
Wahlen und ihre Reiserisiken
Tübingen/Lund, 09.03.2026 (lifePR) - 2026 ist ein Jahr politischer Weichenstellungen: […] (00)
Brandschutzoptimierte Medientechnik nach VdS 6024: gekartel AG bietet breites Produktportfolio
Dresden, 10.03.2026 (PresseBox) - Die gekartel AG erweitert ihr Brandschutzportfolio: Zum einen […] (00)
Amtsgericht (Archiv)
Halle (Saale) - Die Zahl der Insolvenzen von Personen- und Kapitalgesellschaften in […] (01)
Tödliche Badeunfälle
München/Bad Nenndorf (dpa) - Wer jung und männlich ist, lebt in der Badesaison […] (01)
Nintendos neue Amiibo-Strategie setzt auf Luxus, doch Kirby Air Riders zeigt, wo die Grenze liegt
Amiibo sind ein merkwürdiges Phänomen: Zehn Jahre nach ihrer Einführung gibt es sie […] (00)
Politisches Beben im Weißen Haus: FBI-Akten zu Trump und Epstein veröffentlicht
In Washington herrscht Alarmstimmung. Nach monatelangem politischem Tauziehen hat das […] (00)
Flaggschiff MacBook Pro mit Touchscreen und OLED zum Jahresende erwartet
In der aktuellen Ausgabe seines bekannten Power On Newsletters berichtet der Bloomberg-Analyst […] (00)
 
 
Suchbegriff