Testgetriebene Entwicklung

Jede Software wird irgendwie getestet. Gerade in der Softwareentwicklung ist das "irgendwie" ein wichtiger Aspekt.
Es gibt verschiedene Testmethoden. Einige sind Top, benötigen aber etwas Einarbeitungszeit, andere sind unproduktiv aber "schnell" mal erledigt.

Zu den "unproduktiven" zählt das manuelle Testen. Diese Methode wird in der Regel eingesetzt, wenn für Tests eigentlich keine Zeit reserviert hat oder kein entsprechendes oder zu geringes Budget eingeplant wurde.
Hierbei klickt sich eine Person (in vielen Fällen der Programmierer selbst), durch alle Bereiche der Software und prüft, ob sich diese so verhalten wie sie sollen.
Bei der ersten "pre-alpha" Version mag dies noch in Ordnung sein. Spätestens bei der zweiten Version erweist sich dieses Verfahren als unproduktiv, Fehleranfällig und kostspielig.
Unproduktiv und kostspielig da immer die komplette Software durchgetestet werden muss und dies zeitaufwändig ist. Fehleranfällig, da schlicht und ergreifend Bereiche vergessen oder falsch getestet werden könnten.

Aus diesen Gründen arbeiten wir generell zum einen mit Unit-Tests und zum anderen mit Funktionstests.
Unit-Tests dienen zum automatischen testen der einzelnen Komponenten einer Software (=Units). Eine Unit kann zum Beispiel das berechnen der Warenkorb-Summe sein.
Funktionstests dienen zum testen der Anwendungslogik. Hierbei wird zum Beispiel ein Browserfenster geöffnet und geprüft ob ein Text auf der Seite vorhanden und auch sichtbar ist.

Damit das Schreiben der Tests nicht vergessen werden kann, betreiben wir testgetriebene Entwicklung.
Im Detail heißt dies, dass wir die Unit-Tests vor der eigentlichen Programmlogik schreiben. Somit sind die Anforderungen an eine Funktion direkt festgehalten und die Programmierung kann solange angepasst werden, bis alle Tests erfolgreich absolviert wurden.

Kontakt

Gerne kann ich dich im Detail beraten sowie und dein Softwareprojekt realisieren.





oder direkt an julian@mintware.de