Seite 1 von 1

Testen aber wie ? TDD - agile Softwareentwicklung etc.

Verfasst: Do, 24. Jan 2013 16:08
von brandelh
Hi,

im Buch "Softwareentwicklung von Kopf bis Fuß" kam ich auf das Thema TDD "test driven development".
Nutzt das schon einer ?

Wer nicht weiß was gemeint ist, hier eine kurze Info :arrow: http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung

Ich habe bisher bei der Entwicklung immer erst eine Funktion / Prozedur / Klasse geschrieben und dann per debugger und Programmtests geprüft ob diese OK ist.
Das geht, aber bei der nächsten Anpassung - seien wir ehrlich - werden die alten Tests nicht erneut ausgeführt und ab und zu bricht eine Änderung hier ein Verhalten dort ... :banghead: angry9: :angry5: :? #-o

Nun habe ich bei einer Programmänderung angefangen zunächst ein Testmodul zu bauen und die Funktion nach TDD zu entwickeln.
Für Java, C++ etc. gibt es dafür sogar frameworks, aber eine eigene Testroutine geht auch. Sinn des Ganzen ist es, dass neue Tests an die bisherigen angehängt werden
und somit ein Testlauf immer auch alle alten Funktionen durchtestet und zwar mit genau den Tests die das nötige (gewünschte) Verhalten testen.
Einmal mit Sorgfalt festgelegt sind diese Tests bestimmt umfassender als die "Runtimetests mit dem Debugger" ... wo doch immer jemand zur falschen Zeit stört. :badgrin:

Es ist zwar etwas Vorarbeit nötig, aber ich habe vor meine Funktionsbibliotheken und Programme in Zukunt mit solchen UNIT-Tests zu versehen.

Im Anwendungstest hat man dann deutlich weniger Syntax, Typ- oder Tippfehler (ich meine nicht die Rechtschreibung) ...

Linkverzeichnis:
TDD :arrow: http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung
Agile :arrow: http://de.wikipedia.org/wiki/Agile_Methode
XP :arrow: http://xprogramming.com/index.php

Was meint Ihr ?

Re: Testen aber wie ? TDD - agile Softwareentwicklung etc.

Verfasst: Fr, 25. Jan 2013 7:38
von Magic
Hallo Hubert,

ich selbst habe vor einiger Zeit diese Buch gelesen (~durchgearbeitet). Bis dato war mit das TDD Verfahren nicht geläufig. Mir ging es damals vor allem um das Thema Projektplanung und -leitung.
In Programmierumgebungen die bereits Frameworks dafür anbieten, ist es sicherlich etwas leichter anzuwenden als in der Xbase++ Umgebung, auch wenn es unter Xbase++ nicht unmöglich ist. Nur muss eben das Meiste manuell kodiert werden. Es geht ja auch um das Umsetzungsprinzip, und eben nicht um die Programmiersprache.
Zu Anwendung kam dieses Verfahren bei mir noch nicht. Aus meiner Sicht liegt die Schwierigkeit daran sich selbst umzugewöhnen. Immerhin entwickelt man seit Jahren o. Jahrzehnten nach der gängigen und eben umgekehrten Methode, Programmieren dann Testen.
Und ich meine, dass es eine menge Disziplin erfordert, dieses Verfahren auch durchgängig anzuwenden (zumindest innerhalb eines Projekts), ohne plötzlich, sein es weil man denk andersherum geht es dann doch schneller, in die alte Vorgehensweise zu Verfahren.
Insgesamt betrachte ich aber das Verfahren an sich, als seht interessant und durchaus brauchbar.