Warum Unit-Tests in der Programmierung?

Ja die Frage warum man Unit-Tests verwenden sollte ist recht spannend, da es viele Gründe dafür aber auch einige wenige Gründe dagegen gibt. Aber fangen wir erstmal von vorne an:

Was ist ein Unit-Test?

Mit einem Unit-Test kann man kleinere Bereiche (Funktionen) eines Programms automatisiert testen. Dies hat den Vorteil, dass man so sicherstellen kann, dass immer das erwartete Ergebnis, bei der getesteten Funktion, zurück kommt.

Aber warum sollte man dies tun? Ganz einfach man muss nicht jedes Mal alle Funktionen neu testen und das Ergebnis händisch überprüfen. Wenn ein Unit-Test korrekt implementiert ist kann man davon ausgehen, dass hier der erwünschte Wert, geschweige denn das erwünschte Verhalten aus einer Funktion zurück gegeben wird.

Tools

Damit man Unit-Tests durchführen kann braucht man ein Tool, welches diese ausführt. Hier gibt es in jeder Programmiersprache verschieden Tools. Unter PHP ist dies PHPUnit und unter Java zum Beispiel JUnit. Auch für Javascript es hier Tools wie Jasmine, QUnit und so weiter.

Es gibt hier auch noch verschiedene Arten von Tests. Manchmal ist es sinnvoll nicht kleinere Units zu testen, sondern die Abläufe einer Software. Am Beispiel eines Shops wäre dies, dass man beispielsweise eine Bestellung ausführt. Hierzu muss man den Prozess durchlaufen und alle benötigten Felder füllen. Hierfür bietet sich eine Kombination aus Selenium und einem Unit-Test Tool an. Meist gibt es hier auch schon Schnittstellen um beides miteinander zu verbinden.

Bestehende Projekte/Code testen?

Wenn man so an das Agenturleben denkt kommt es hier ja eher vor, dass man bestehende Projekte hat, die gewachsen sind und teilweise noch prozedural programmiert sind. Diese lassen sich in der Regel schlecht testen, da es hier keine kleineren Teile (Units) gibt, die man auch gut testen kann. Sollte das Projekt Klassen und Funktionen verwenden, kann man eines der Tools von oben wählen.

Manchmal ist es hier auch sinnvoll nachträglich verschiedene Teile in Klassen und Funktionen auszulagern, um diese testen zu können und die Strukturen ein wenig aufzuräumen und zu verbessern.

Fazit

Unit-Tests können einem sehr das Leben erleichtern, da man bestehende Funktionen testen und absichern kann. Dies ist sehr hilfreich wenn man größere Teile eines Projektes umbauen muss. Nach den Umbauarbeiten kann man durch die Tests weiterhin sicherstellen, dass die Funktionen das korrekte Ergebnis liefern.

Ein weiterer Vorteil ist, dass man beim Schreiben der Unit-Tests tiefer über die Funktionen nachdenkt und teilweise weitere Fehler findet und diese direkt beheben kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert