Posts

Posts mit dem Label "Test" werden angezeigt.

Wieviele Bugs darf eine Software haben? (Teil 2 - Fehleranzahl abschätzen)

Bild
Kann man wissen, wie viele Fehler sich in einer Software verstecken? Exakt kann man das mit akzeptablem Aufwand nie wissen – aber es lässt sich abschätzen. Das ist notwendig zur Bewertung potentieller Risiken einer Software, aber auch zur Abschätzung der Fehlerdichte (siehe Wieviele Bugs darf eine Software haben? (Teil 1 - Fehlerdichte) ). Dazu kann man sich folgender Erkenntnisse aus der Literatur bedienen: Während der Entwicklung entstehen programmiersprachenunabhängig zwischen 30 und 50 Fehler pro 1.000 Zeilen Sourcecode (= KSLOC). 1 Mittels Unit-Tests bzw. TDD können im Schnitt 30 - 45 % der Fehler gefunden bzw. vermieden werden. 2 Formale Code-Inspections finden/verhindern 45-70% der restlichen Fehler 3 Gutes Pair-Programming findet/verhindert 40- 60 % der (restlichen) Fehler 3 Code-Reviews finden/verhindern 20- 40 % der restlichen Fehler 3 Basierend auf diesen Erkenntnissen kann man nun abschätzen, wieviele Fehler in der Software nach den typ...

Wieviele Bugs darf eine Software haben? (Teil 1 - Fehlerdichte)

Bild
"Fehlerfreie Software gibt es nicht" - dieser Ausspruch ist zwar nicht korrekt 1 , üblicherweise aber verlangt der Stand der Technik (da er zielgerichtet und somit wirtschaftlich sein muss) keine Fehlerfreiheit bei Software. Aber ist es deshalb ok, wenn eine Software beliebig viele Fehler enthält? Ab wievielen Fehlern gilt eine Software als mangelhaft bzw. nicht einsatzbereit? Die Antwort auf diese Frage lässt sich an Hand der sogenannten Fehlerdichte (en. defect-density ) klären: In der Informatik bezeichnet die Fehlerdichte die Anzahl an Fehlern pro 1.000 Zeilen Code. Die angestrebte Fehlerdichte ist idealerweise vertraglich festgelegt oder zumindest während der Analysephase mit dem Auftraggeber definiert worden. Wenn nicht, gilt der Stand der Technik, der diesbezüglich durch die Fachliteratur klar definiert ist: 2 Unbrauchbar - also nicht einmal für Previews, Teststellungen oder user-acceptance-tests verwendbar - ist eine Software bei einer Fehlerdichte > 10 Produkti...
CC BY-NC-SA 3.0 AT Sebastian Dietrich, e-movimento