Warum ist die Qualität von Tests so wichtig?
Eine kleine Ausführung über das Dilemma von schlechten Tests.
«…Testen ist nicht wichtig…»
Dies oder ähnliches höre ich leider immer wieder, gerade bei Kunden, wo ich persönlich einen anderen Eindruck von ihren Softwareprodukten habe. Doch eigentlich ist es den Führungspersonen mittlerweile ja klar: «getestet wird immer!»
Entweder geschieht dies gezielt und geplant, innerhalb eines Projekts, dann werden die Fehler intern entdeckt und publiziert, oder die Fehler werden durch die Kunden entdeckt und dann teilweise in der Tagespresse publiziert.
Leider unterschätzen Führungspersonen aber die Wichtigkeit und Dramatik der Testqualität!
Warum ist die Qualität von Tests so wichtig?
Am besten lässt sich dies mit einer einfachen Grafik erklären. Auf zwei Achsen werden die Qualität der Software und die Qualität der Tests dargestellt. Dabei zeigt die Y-Achse die Qualität der zu testenden Software und die X-Achse die Qualität der Tests. So bilden sich vier Quadranten:
Mit den vier Quadranten lassen sich folgende Aussagen machen:
1: Bei guter Softwarequalität und schlechten Tests, finden sich keine oder fast keine Fehler
–> hier nützen schlechte Tests offensichtlich nichts !
2: Bei schlechter Softwarequalität und guten Tests, werden sehr schnellsehr viele Fehler gefunden.
–> Der Testaufwand steigert die Softwarequalität !
3: Bei schlechter Softwarequalität und schlechten Tests, werden wenig Fehler gefunden
4: Bei guter Softwarequalität werden auch mit guten Tests nur wenig Fehler gefunden
–> Und hier haben wir das Dilemma:
Punkt 3 und 4 liefern die gleichen Ergebnisse, haben aber eine völlig diametrale Ausgangssituation!
Ohne die Gewissheit über die Qualität der Tests, wissen wir nicht, aus welchem der Quadraten unser Ergebnis stammt. Ohne die Gewissheit der Testqualität tappen wir völlig im Dunkeln.
Was ist die Quintessenz?
Tests sind nur dann aussagekräftig, wenn sie hohen Qualitätsanforderungen ( z.B. ISO 25’000, früher ISO 9126) genügen. Zum Erstellen von Tests braucht es eine vorgängige Teststrategie, eine gründliche Testanalyse sowie ein professionelles Testdesign.
Professionelles Testen ist oft anspruchsvoller als das eigentliche Entwickeln, dies wird leider noch zu oft verkannt.
Pingback: Noser Blog Bier - Wette - Bloggen - #PokemonGO - Testen - Noser Blog