test.ical.ly | getting the web by the balls

Mar/10

22

Wie hoch sollte die Testabdeckung meines Codes sein?

Zafira_Crash_TestVor ein paar Tagen hat Bernhard in seinem Blog einen weiteren sehr anschaulichen Artikel zum Thema Testabdeckung geschrieben. Er liefert darin eine schlüssige Begründung warum eine hundertprozentige Testabdeckung nicht erstrebenswert sein soll.

Ich hab mir da nun auch nochmal ein paar Gedanken zu gemacht und denke Gründe für eine Abweichung gefunden zu haben.

Bernhards These lässt sich auf einen zentralen Satz zurückführen:

The more tests you have for your application, the more difficult it becomes to introduce changes.

Und er hat vollkommen Recht. Wenn ich eine besonders hohe Anzahl von Tests habe, dann steigt auch die Zahl der Tests, die ich bei Änderungen anpassen muss.

Ich denke aber, dass man grundsätzlich zwischen zwei Arten von Code unterscheiden muss: Applikationen und Bibliotheken

Unter einer Bibliothek verstehe ich Code, der für Entwickler geschrieben worden ist, die diesen in ihren Applikationen einsetzen.

Applikationen sind alles andere.

Warum ist eine hundertprozentige Testabdeckung in Bibliotheken erstrebenswert?

Dafür sprechen meiner Ansicht nach zwei Gründe.

Zum einen kann so das Vertrauen der Anwender als der Entwickler in die Bibliothek gesteigert werden, denn eine hohe Testabdeckung verspricht eine besonders hohe Stabilität auch bei “unorthodoxer” Nutzung.

Zum anderen aber ist es schwer in so stark getestetem Code Änderungen vorzunehmen.

Das ist tatsächlich was Gutes, denn Änderungen können sehr leicht zu Problemen mit der Abwärtskompatibilität führen, wenn man nicht aufpasst.

Wenn ich jedoch eine sher hohe Testabdeckung habe, dann muss ist es besonders aufwändig Änderungen durchzuführen und ich muss mir extra viele Gedanken machen.

Als Nutzer einer solchen Bibliothek würde ich mir erwarten, dass sie auch in einer sehr langen Zeitspanne immer stabil bleibt.

Was meint ihr?

·



  • http://test.ical.ly Christian

    Kleiner Nachsatz: Die Risikobewertung, die Bernhard vorschlägt ist wirklich ein sehr sinnvolles Vorgehen und auf jeden Fall ein Blick wert! :)

  • http://test.ical.ly Christian

    Auf der Clean Code Developer Seite [1] steht geschrieben, dass bereits eine Code Coverage unter 90% als löchrig zu bezeichnen ist.
    [1] http://www.clean-code-developer.de/wiki/CcdGelberGrad#CodeCoverageAnalyse

<<

>>

Theme Design by devolux.nh2.me