Tests bilden einen wichtigen Bestandteil des Programmentwicklungsprozesses. Mit Tests wird das beabsichtigte Programmverhalten überprüft. Auch Debugging-Aktivitäten und einfache Text-Traces zählen zu diesen Tests. Allerdings verlangen diese Methoden eine abschließende Beurteilung durch den Entwickler, was bei komplexeren Testszenarios schnell zu einer Einschränkung der Testmöglichkeiten führt: Debugging-Informationen müssen Schritt für Schritt geprüft werden, und der ausgegebene Text wird im Hinblick auf Umfang und Verwaltbarkeit unüberschaubar. Langfristiger Nutzen durch Tests lässt sich nur durch Automatisierung erzielen.
Das Testen kleinerer Quelltextabschnitte bringt zahlreiche Vorteile mit sich, unter anderem:
● Das Problem lässt sich leicht lokalisieren. Der Bereich, in dem der Fehler sitzen kann, ist minimal.
● Fehler in einem Test ziehen keine anderen Fehler in anderen Programmtests nach sich, da die Tests immer isoliert laufen.
● Es ist weniger aufwändig, einen einfachen Test zu konstruieren, anstatt ein komplettes Testszenario zu erstellen.
Ein weiterer großer Vorteil von Modultests liegt darin, dass sie während der Implementierung geschrieben werden. Dies gewährleistet, dass Testläufe nicht verschoben oder abgesagt werden. Es ist sogar möglich, die Modultests zu schreiben, bevor das zu testende Programm implementiert wird.