Allgemeine Beschreibung
Das Buch "Prinzipien des Unit-Testings" von Wladimir Chorikow widmet sich einem systematischen und durchdachten Ansatz für automatisiertes Code-Testing. Der Autor betrachtet Unit-Tests nicht als eine Ansammlung von Werkzeugen oder Frameworks, sondern als eine technische Disziplin, die eng mit der Anwendungsarchitektur, der Codequalität und der langfristigen Wartbarkeit des Systems verbunden ist.
Das Buch erläutert ausführlich die grundlegenden Prinzipien guter Tests: Isolation, Zuverlässigkeit, Lesbarkeit und ihr Wert für das Projekt. Besondere Aufmerksamkeit gilt der Unterscheidung zwischen Unit- und Integrationstests sowie der Frage, wo in der Praxis die Grenze zwischen ihnen verläuft. Der Autor erklärt Schritt für Schritt, warum das Bestreben, "einfach alles" zu testen, oft zu fragilen und nutzlosen Tests führt.
Ein wesentlicher Teil des Buches ist den architektonischen Aspekten des Testens gewidmet. Es wird gezeigt, wie Codestruktur, Abhängigkeiten und Entwurfsstil die Komplexität des Schreibens und Wartens von Tests direkt beeinflussen. Verschiedene Ansätze zur Isolierung von Abhängigkeiten, Arten von Test-Doubles und deren Anwendungsbereiche werden untersucht.
Das Buch analysiert auch Testmetriken wie die Codeabdeckung und erklärt, warum hohe Abdeckungsraten allein keine Qualität garantieren. Der Autor konzentriert sich auf das Refactoring von Tests, deren Aktualität und die Verhinderung der Verschlechterung der Testbasis im Laufe der Zeit.
Das Buch richtet sich an Entwickler, die die Rolle des Testens im Entwicklungsprozess tiefer verstehen und lernen möchten, Tests zu schreiben, die dem Projekt wirklich nutzen, anstatt eine zusätzliche Belastung zu schaffen.
Meinung
Ein gutes Buch über das Testen von Code. Neben Unit-Tests wird auch viel Aufmerksamkeit auf Integrationstests gelegt. Die Londoner und die klassische Schule des Testens werden detailliert analysiert. Es wird der Unterschied zwischen Code Coverage und Branch Coverage erklärt, es wird beschrieben, welche Anforderungen an Tests gestellt werden sollten, welche Arten von Test-Doubles es gibt und wie sich Mocks von Stubs unterscheiden, welche Stile von Unit-Tests es gibt, wie man Tests richtig refaktorisiert, wie die Projektarchitektur Tests beeinflusst und vieles mehr. Wenn Sie also denken, dass Sie sich mit Testing gut auskennen, bin ich sicher, dass Sie in diesem Buch viele interessante Dinge finden werden.