Mit Test-driven Designs bessere Software entwickeln

Software steht und fällt mit ihrer zugrundeliegenden Architektur. Daher sollte man eine Softwarearchitektur auch im Hinblick auf ihre Testbarkeit entwerfen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Bessere Software dank Test-driven Designs
Lesezeit: 23 Min.
Von
  • Dr. Michael Stal
Inhaltsverzeichnis

Als Siemens intern Probleme in einem Projekt analysierte, fand der Elektrokonzern eine essenzielle Ursache für das Scheitern von Projekten: Fehlende Tests durch die beteiligten Architekten. Speziell Testmaßnahmen, Reviews und Qualitätsmessung hatten Architekten eher als unliebsame Kontrolle ihrer Arbeit empfunden. Sie betrachteten Testen und Qualitätssicherung offensichtlich weder als Entwurfsansatz noch als Sicherheitsnetz. Doch genau das ist es, was Testen den Architekten bietet.

Architekten stehen in der Verantwortung, ein schlüssiges und funktionierendes Integrationskonzept zu liefern, um eine kontrollierte Integration sicherzustellen. Schließlich beeinflussen Software- und Systemarchitektur den Integrationstest maßgeblich. Nicht zuletzt gehört es zu den Pflichten eines Architekten, ständig die Auswirkung von Architekturentscheidungen auf die Qualität im Auge zu behalten. Gerade unentdeckte oder unbehandelte Entwurfsprobleme können über die Projektlaufzeit zu "Big-Ball-of-Mud"-Architekturen führen, die sich jeder späteren Änderung heftig widersetzen. Ein geeignetes Mittel, ein Projekt gezielt zu sabotieren, dazu eines mit Erfolgsgarantie.

Mehr zum Thema Testautomatisierung

Schon am Anfang des Entwicklungsprozesses sind Architekten in die Qualitätssicherung involviert. Sobald neben Geschäftszielen und Randbedingungen alle Anforderungen – oder realistischer eine Teilmenge davon – vorliegen, müssen Architekten diese Architekturtreiber auf ihre Qualität prüfen. Ohne hochqualitative Anforderungsspezifikation ist keine hochqualitative Architektur möglich: Garbage in, Garbage out. Im Idealfall haben Architekten mit anderen Beteiligten aus der Spezifikation die architekturrelevanten Anforderungen und ihre Prioritäten abgeleitet.