Testautomatisierung

Testpyramiden, Test Driven Development und Co.

In seinem renommierten Buch "Working Effectively with Legacy Code" definiert Michael Feathers [Feathers04] Legacy Code, also veralteten, schwer wartbaren Code, als Code ohne automatisierte Tests. Diese Definition ist auch heute noch hochaktuell und eine Grundvoraussetzung für automatisierte kontinuierliche Deployments (continuous delivery) .

Bei andrena sind die X-Unit Testing-Frameworks seit der ersten Stunde im Einsatz, damals noch SUnit für Smalltalk von Kent Beck. Auch die Entwicklung von JUnit für Java begleitete andrena von Anfang an und unterstützte auch die Crowd-Funding-Kampagne für JUnit 5 (Jupiter).

Unsere jahrzehntelange Erfahrung im automatisierten Testen demonstrieren wir in Vorträgen und Workshops auf Konferenzen und helfen unseren Kunden dabei, zuverlässig und regelmäßig stabile Software auszuliefern. Damit das gelingt, darf die Verteilung der Tests nicht dem Bild einer Eistüte entsprechen (viele langläufige Integrationstests, wenig Unittests), sondern eher dem einer Pyramide (viele schnellläufige Unittests, wenig Integrationstests).

[Feathers04]: Feathers, M.: Working Effectively with Legacy Code , Prentice Hall 2004 ISBN 0131177052

Thomas Rehm, Softwareentwickler

"Testautomatisierung ist für mich eine der Schlüsseltechniken der agilen Softwareentwicklung. Das Erstellen von automatisierten Tests fördert die Analyse und Konkretisierung von Anforderungen, die an eine Softwarekomponente gestellt werden, sei es das Gesamtsystem, ein Objekt oder eine Funktion.

Einmal vorhanden, geben mir die automatisierten Tests die Sicherheit und Freiheit, meinen Code immer wieder optimal an diese - oder an eine neue - Anforderung anzupassen."

Tools und Techniken in der Testpyramide - wo eine Größe nicht allen passt

 

Podcast-Folgen bei "andrena entwickelt"