Design By Contract und Unit-Tests

Post von realloc | Einsortiert in Code am 25. Oktober 2007 | Keine Kommentare

“Design By Contract” ist ein Konzept der Softwareentwicklung, das die Stabilität von Programm-Modulen sicherstellen soll. Die allgemeine Definition geht vor allem auf den logischen Ablauf eines Programms ein. Betrachtet man Module bzw. Klassen aber als Blackboxen, die durch andere Blackboxen ersetzt werden können, sofern diese den Vertrag auch einhalten können, offenbart sich ein wichtiges Konzept der objektorientierten Programmierung: Wiederverwendbarkeit von Code. Ein Modul, eine Klasse oder eine Methode gibt also das Versprechen, eine bestimmte Funktionalität zu bieten. Wie das so mit Versprechen ist, offenbart sich die Wirklichkeit erst mit einem Test.

Oftmals wird man erst durch Unit-Tests auf Schwachstellen im Code aufmerksam gemacht. Wenn Methoden beispielsweise nur reibungslos funktionieren, sofern bestimmt Parameter als Array vorliegen, aber zu keinem Zeitpunkt geprüft wird, ob dies tatsächlich der Fall ist, kann ein Unit-Test dieses Problem zu Tage fördern. Für PHP gibt es schon seit einigen Jahren PHPUnit. Wie alle Mitglieder der xUnit-Familie bietet es ein Framework, das das Schreiben von Tests vereinfacht als auch Funktionalitäten, um die Tests zu steuern und zu analysieren.

Möglicherweise interessiert Dich auch...



Einen Kommentar schreiben