
On 01/05/2019 20.58, Raymond Czerny wrote:
Zu Qualitätssicherung sollte man testgetrieben entwickeln. Die trifft übrigens auf alle Programmiersprachen zu.
Ich finde testgetriebene Entwicklung vor allem dann sinnvoll, wenn man schon genau weiß, wo man hin will. Wenn ich noch mit dem Design experimentiere und Dinge noch während der Entwicklung hin- und herschiebe, schreibe ich noch keine Tests für diesen Code. Ich schreibe die Tests dann aber, wenn sich das Design einigermaßen stabilisiert hat. Ein Kompromiss ist unter Umständen, auch schon während einer solchen Design-Phase ein paar "High-Level-Tests", also eher Integrationstests zu schreiben, so dass man wenigstens ein bisschen Qualitätskontrolle hat.
Bei Unittest wird nicht nur das Verhalten auf gültige Eingabewerte geprüft, sondern auch die Fehlerverarbeitung mit mit ungültigen Werten.
Wichtiger Hinweis, ja. :-) In dem Zusammenhang ist auch interessant, wenn es keine "falschen" Werte für einzelne Argumente gibt, sondern ein Fehler durch bestimmte Argument-Kombinationen zustandekommt. In dem Fall sollte man möglichst versuchen, das Design zu vereinfachen, so dass es möglichst keine "Querabhängigkeiten" zwischen Argumenten gibt bzw. sie unabhängig voneinander getestet werden können. Viele Grüße Stefan