Teaser: Tests als evolutionäre Kraft

Warum sollte Software eigentlich eine bestimmte Struktur haben? Weil sie mit dieser Struktur den Kräften, die an ihr wirken, am besten standhalten kann.

Dass Software gewünschte Funktionalität zeigt, hat nichts mit ihrer Struktur zu tun. Dass Software gewünsche Effizienzen zeigt (z.B. Performance, Sicherheit), hat in vielen Fällen auch nichts mit ihrer Struktur zu tun. Für Funktionalität wie Effizienzen ist lediglich Logik verantwortlich – und die braucht keine Struktur, um ihren Effekt zu entfalten.

Das ist leicht zu verstehen, wenn Sie daran denken, dass im finalen Maschinencode all Ihre schönen Strukturen ja nicht mehr zu finden sind und die Software trotzdem das gewünschte Verhalten zeigt.

Was verstehe ich unter Struktur? Elemente, die in Beziehung stehen. Also eine gewisse Anordnung von Dingen. Diese “Dinge” in der Software sind zunächst einmal Module, d.h. Funktionen, Klassen, Bibliotheken usw. Und die Beziehungen zwischen ihnen sind vor allem Nutzungsbeziehungen: ein Modul kennt ein anderes, um dort eine Dienstleistung zu nutzen.
(Datenstrukturen lasse ich hier ausdrücklich aus. Die arrangieren ja keine Logik, sondern eben Daten.)

Und was sind die Kräfte, die auf die Softwarestruktur wirken? Veränderungen. Softwarestruktur soll Code wandelbar machen.

Wandelbar ist Code, wenn er leicht verständlich ist, wenn sich Veränderungen zur Herstellung neuer Funktionalität oder Effizienz leicht anbringen lassen und wenn man leicht feststellen kann, ob das Neue schon korrekt implementiert ist wie auch das Alte immer noch korrekt arbeitet. Testbarkeit ist mithin ein Kriterium für Wandelbarkeit. Tests sind ein Teil der Kraft, die auf Softwarestrukturen einwirken.

In Bezug auf Tests habe ich mich nun gefragt, wie sich Strukturen dadurch verändern? Wie setzt Software Tests möglichst wenig Widerstand entgegen?
Mir scheint es da eine natürliche Entwicklung zu geben, quasi eine Evolution.

[Mehr lesen Sie in meinem neuen Blog…]

Neue RSS-Feeds

Seit Oktober 2015 schreibe ich sowohl meine deutschen wie meine englischen Blogartikel nur noch im neuen Blog direkt auf meiner Homepage.

Wenn Sie über neue Artikel automatisch informiert werden wollen, abonnieren Sie doch einen meiner RSS-Feeds oder folgen Sie mir bei Twitter.

  • RSS-Feed mit allen Artikeln
  • Nur deutsche Artikel
  • Nur englische Artikel
  • Twitter @ralfw

wallpaper-1019588
Hello beautiful Hoi An!
wallpaper-1019588
Bild der Woche: Christkindlmarkt in Mariazell
wallpaper-1019588
Alte Kameras – Technische Optik für Punkt, Punkt, Punkt
wallpaper-1019588
100 mm Selbstrück Convex Microswitch für Raspberry Pi eingetroffen
wallpaper-1019588
Make Up Look mit Semi-Sweet Chocolate Bar Palette von Too Faced
wallpaper-1019588
Saftiger Rhabarberkuchen
wallpaper-1019588
Der April macht, was er will!
wallpaper-1019588
1000 Fragen an mich selbst #16 - Selbstfindung