Bad Tests, Good Tests

von Tomek Kaczanowski

Tests und testgetriebene Entwicklung (TDD) sind in den meisten IT-Teams angekommen. Tests sollen das korrekte Verhalten neuer und bestehender Features sicherstellen, dabei Refactorings unbeschadet überstehen, als Dokumentation neuen Entwicklern den Einstieg in den Code erleichtern und – obendrein – zu sauber(er)em Code führen.

Leider sind viele Tests die Zeit nicht wert, die in ihre Entwicklung investiert wird. Sie sind schlecht les- und wartbar. Und oft müssen sie bei Refactorings angepasst werden, da sie nicht das Resultat einer Operation verifizieren, sondern wie die Operation ausgeführt wurde.

Bad Tests, Good Tests erklärt anhand zahlreicher Beispiele (etwa die Hälfte des Buches enthält Code) was schlechte Tests ausmacht – Beispiele, wie der Autor sie in realen Projekten vorgefunden hat. Jedem Beispiel stellt der Autor dann konkrete Verbesserungsvorschläge gegenüber.

Die Bandbreite der Mängel reicht von schlechter Lesbarkeit (z. B. lange Setup- oder Assertion-Blöcke) und offensichtlichen Fehlern (z. B. vergessene Assertions) über lückenhafte Tests (die trotz geänderter Funktionalität nicht fehlschlagen) und subtile Fehler (z. B. Exceptions, die an anderen Stellen als erwartet geworfen werden) bis hin zu völlig unnützen Tests (die z. B. die Test-Library verifizieren anstatt den eigenen Code).

Das Buch ist außerordentlich praxisnah und sowohl für Anfänger als auch für fortgeschrittene Entwickler geeignet.

Anfänger müssen die Fehler nicht wiederholen, die andere vor ihnen gemacht haben. Fortgeschrittene Programmierer werden sicher das eine oder andere Anti-Pattern aus ihrer täglichen Arbeit wiedererkennen und können ihre Toolbox mit neuen Techniken füllen.

Der Autor schreibt verständlich und humorvoll. Und er weist ausdrücklich darauf hin, dass man seine Regeln auch brechen darf, wenn es im Einzelfall der Sache dient.

Eine klare Empfehlung für jeden Java-Entwickler.

🎧 Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele.

Andere Empfehlungen aus den Genres dieses Buches

* Hinweis: Wir teilen gerne unsere Lieblingsbücher mit dir! Als Amazon-Partner verdienen wir eine kleine Provision bei Einkäufen, die du über unsere Links tätigst. Dies hilft uns, weiterhin Inhalte zu erstellen, die dir gefallen.