Unit Tests

Unit Tests sind Verfahren in der Softwareentwicklung, bei dem einzelne Software-Komponenten (Units) getestet werden. Damit sind sie eine Vorstufe zum klassischen Programmtest, bei dem die zu einem fertigen Gesamtsystem verbundenen Komponenten in ihrem Zusammenspiel getestet werden.

Der zu Grunde liegende Gedanke ist das so genannte Design By Contract (frei übersetzt also der vertragsmäßige Entwurf von Software-Komponenten). Dabei wird jeder Komponente eine klar umrissene Aufgabe gestellt und genau beschrieben, wie sie sich nach außen verhalten muss. Die Einhaltung eines solchen Vertrags kann man testen, ohne die Komponente in das Gesamtsystem einbinden zu müssen. Es genügt vielmehr ein sehr rudimentäres Testprogramm, das aus wenigen Zeilen bestehen kann und die Komponente aufruft.

Das alle verwendeten Komponenten ihre Verträge erfüllen und somit die Unit Tests bestehen, ist die notwendige Bedingung für ein funktionierendes Gesamtsystem. Erst wenn diese Bedingung erfüllt ist, lohnt der Aufwand das Gesamtsystem zu testen.

In der Praxis wird Unit Testing inzwischen durch Bibliotheken und Werkzeuge unterstützt. Entwickler werden dazu angehalten, für jede Komponente gleich den testenden Code, die so genannten Test Cases, mit zu programmieren. Während der Entwicklungszeit werden diese dann automatisch immer wieder ausgeführt und die Ergebnisse ausgewertet. Neu entstehender und sich verändernder Code werden so einer ständigen Qualitätskontrolle unterzogen und man verhindert das unbemerkte Einsickern von neuen Fehlern in bereits getestete Komponenten, das in der Praxis ansonsten oft zu beobachten ist.

Informationen zum Artikel
Deutsch: Unit Tests
Englisch: unit tests
Veröffentlicht: 09.06.2006
Wörter: 238
Tags: Test und Auslieferung
Links: Aufwand, Bibliothek, Code, Fehler, HE (Höheneinheit)