Grundsätzliche Fragen zu doctests
Verfasst: Freitag 2. Juni 2017, 15:10
Hallo,
ich suche mir gerade ein paar Infos zum Thema Softwaretests, insbesondere zu den doctests, im Internet zusammen. Eine Sache, dir mir etwas fragwürdig erscheint ist, dass man, wenn man doctests nutzen will, die zu testenden Funktionen im Grunde immer zwei mal implementieren muss: einmal im Programmcode und anschließend im doctest-file. Wo liegt da der Nutzen? Denn wenn man eine Funktion im Programm falsch implementiert hat und die fehlerhafte Implementation in den Test übernimmt, ist am Ende nichts gewonnen. Und wenn man sich dann die Arbeit macht, den doctest anzupassen, bis der gewünschte Output erscheint, kann man es auch gleich im Programm selbst machen. Oder die Funktion ist korrekt, aber der Test ist fehlerhaft. Worst Case: man beginnt dann aufgrund des fehlerhaften Outputs die eigentliche Funktion umzuschreiben. Bei den häufig in Tutorials zu findenden Einfachtests wird das kaum passieren, aber wenn man tatsächlich mal testen will oder muss, weil der Code komplex ist, dann verdoppelt sich durch das Schreiben von doctests die Fehlerwahrscheinlichkeit und könnte sogar in die Irre führen. Oder habe ich da etwas grundsätzlich nicht verstanden?
ich suche mir gerade ein paar Infos zum Thema Softwaretests, insbesondere zu den doctests, im Internet zusammen. Eine Sache, dir mir etwas fragwürdig erscheint ist, dass man, wenn man doctests nutzen will, die zu testenden Funktionen im Grunde immer zwei mal implementieren muss: einmal im Programmcode und anschließend im doctest-file. Wo liegt da der Nutzen? Denn wenn man eine Funktion im Programm falsch implementiert hat und die fehlerhafte Implementation in den Test übernimmt, ist am Ende nichts gewonnen. Und wenn man sich dann die Arbeit macht, den doctest anzupassen, bis der gewünschte Output erscheint, kann man es auch gleich im Programm selbst machen. Oder die Funktion ist korrekt, aber der Test ist fehlerhaft. Worst Case: man beginnt dann aufgrund des fehlerhaften Outputs die eigentliche Funktion umzuschreiben. Bei den häufig in Tutorials zu findenden Einfachtests wird das kaum passieren, aber wenn man tatsächlich mal testen will oder muss, weil der Code komplex ist, dann verdoppelt sich durch das Schreiben von doctests die Fehlerwahrscheinlichkeit und könnte sogar in die Irre führen. Oder habe ich da etwas grundsätzlich nicht verstanden?