// der php hacker

// archiv

Warum Unit-Tests keine Qualitätssicherung sind

Geschrieben am 19. Feb 2009 von Cem Derin

Janusz fasst sehr schön zusammen, warum Unit-Tests nicht mit einer Qualitätssicherung gleichzustellen sind. Besonders der Abschnitt, was Unit tests aussagen bzw. was eben nicht finde ich sehr gelungen. Zusammengefasst: Unit testing ist wichtig, hört nicht auf damit! Unit tests prüfen aber nicht die Funktionalität eurer Software, sondern eurer Komponenten (richtig, evtl. kommt auch daher der Name Unit test ;-) ). Wir testen also, ob Methoden wie erwartet reagieren, ob sie Überhaupt vorhanden sind – ob die Komponente as designed funktioniert.

Ob die Applikation an sich funktioniert kann man damit natürlich nicht herausfinden. Zum einen, weil ein Unit-Test ohne Sinn und Verstand geschrieben werden kann – Man sollte sich also nicht zu viel auf die hübsche Grüne Ausgabe einbilden – Zum anderen, weil ein Applikation (also die Summe mehrerer Komponenten (die evtl. alle fehlefrei funktionieren)) wiederum falsch zusammengesetzt worden sein kann.

Und dann gibt es da ja noch etwas, dass einem das Entwicklerleben immer wieder schwer macht:  Sonderfälle. Das sind die Dinge, die man nie mit einplant, die aber ständig auftreten und alles geplante gekonnt umschiffen. Diese kann man im Vorfeld einfach nicht mit Unit tests abfackeln (aber man kann prüfen, was passiert, wenn einer Eintritt …).

Daher: Unit tests sind und bleiben Unit tests (obwohl ich hierzu auch schon Interaktionstests zuzählen würde). Ein Systemtest kann nur schwer automatisiert durchgeführt werden. In Bezug auf Webapplikationen kommt man da mit Webtests schon recht weit, aber ums manuelle “durchklicken” wird man nie herum kommen. Sorry :-)

// kommentieren

// senden
theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.