Neue Qualitätssiegel für Programme

Folgender Tweet zum Thema “Qualitätssicherung in der Programmierung” hat mir ein Lächeln auf die Lippen gezaubert.

Wer sich mehr dafür interessiert, dem sei die alte  Norm ISO 9126 empfohlen. Diese stellt eines von mehreren Modellen dar, um Softwarequalität sicherzustellen. Diese Norm ist in der Norm ISO 25000 aufgegangen. Das erste Unternehmen, in welchem Software Qualität eine grosse Bedeutung hat, ist die NASA. Wen das mehr interessiert, dem sei die Seite der Software Assurance empfohlen. Die NASA ist auch das einzige Unternehmen, welches Complier Recommendations gibt.

Übrigens definiert sich Software Qualität wie folgt: “Unter Softwarequalität versteht man die Gesamtheit der Merkmale und Werte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen“ (Ist/Soll).

Darüber, welche Organisationen welche Systeme liefern, steht hier mehr. Und mein ganz persönlicher Liebling zum Thema Softwarequalität wird wohl immer der folgende sein:

Eine Software soll Einträge an eine Datenbank übergeben. Der Schlüssel enthält Jahr, Monat, Tag, Stunde, Minute, Sekunde. Die Software kann erfolgreich 60 Einträge schreiben, danach werden 40 nicht geschrieben, dann gehen 60 wieder. Was ist die Ursache?

Ein Programmierer hat sich entschieden, das Arbeiten mit der Zeit selber zu lösen und dabei folgenden Code zu produzieren:

sec = -1
While not EOF 
 Read Record (Jahr, Monat, Tag, Stunde, Minute)
 sec = sec + 1
 Write Record (Jahr, Monat, Tag, Stunde, Minute, right(sec,2))
 if length((sec) > 2) 
   sec = 0 
   // Should never happen 
   Minute = Minute + 1 
 end if
Wend 

Das Problem hier ist, dass eine Minute jetzt eigentlich 100 Sekunden hat. Und die Datenbank die aus ihrer Sicht doppelten Einträge gar nicht erst aufnimmt. Was zur Folge hat, dass man eine gewisse Zeit suchen muss, bis einem klar wird, was kaputt ist.

Als Begründung hat der Programmierer angegeben, es hätte ja niemand explizit definiert, dass eine Minute genau 60 Sekunden hätte.  Seit dann entscheide ich mich regelmässig Schwerkraft auch auszuprobieren, man weiss ja nie.