Hi,

On Monday, Monday 27 January 2014 at 14:34, Hilmar Preusse wrote:
> Wegen des beschriebenen Verhaltens hatte ich aber zunächst auf
> Kernelbug oder Race-Condition getippt, sie sich nicht durch Änderung
> des Codes der Anwendung beheben läßt.

Nach meiner Erfahrung trifft meistens eine ganz einfache Fehlerhierarchie zu:

1) Anwender hat einen Fehler bei der Bedienung gemacht - das ist nicht 
unbedingt Schuld des Anwenders, sondern ist oft einfach schlechtes Design (ich 
schließe meine eigenen Programme da durchaus ein)

2) Admin hat Konfigurationsfehler bei Einrichtung des Programms an sich 
gemacht - Doku und Foren checken hilft meistens schon (kurz: Du hast Dich 
korrekt verhalten)

3) Admin hat Konfigurationsfehler bei Einrichtung eines anderen Programms 
gemacht mit dem das Programm interagieren muss (z.B. DB-Server, Web-Server)

4) Anwendungsprogrammierer hat einen Fehler gemacht - normalerweise ist die 
Anwendung der Teil, der unter dem größten Zeitdruck programmiert wurde und 
auch der Teil mit den wenigsten Betatestern (ähh, ich meine: Usern) - ein 
Fehler pro hundert Code-Zeilen ist normal, einer pro tausend ist 
Spitzenklasse; es ist auch normal Fehler Jahre nach der Programmierung einer 
Funktion zu finden, weil sich die "Umwelt" eines Programms ständig ändert und 
Fehler oft sehr versteckt sind

5) Der Fehler liegt in einer Anwendung mit der das Programm interagiert. Je 
größer die User-Basis des Programms umso wahrscheinlicher ist es schon gut 
getestet.

6) Kompatibilätsprobleme mit dem darunterliegenden System: veraltete oder 
fehlerhafte Bibliotheken, Verhalten welches auf System A angepasst ist die App 
läuft aber auf System B, etc.pp.

7) Irgendein zentraler Server-Prozess hat einen Fehler - das ist bereits sehr 
selten, da sowas wie Datenbanken und Webserver sehr viele Tester/User haben.

8) Das Betriebssystem oder Compiler hat einen Fehler:
  -> unter Linux ist das so selten dass ich mich nicht einmal an den letzten
     Fehler erinnern kann
  -> unter Windows nennt man das "Rückwärtskompatibilität" und die Workarounds
     sind relativ gut dokumentiert oder es gibt zumindest tausende
     Foreneinträge dazu - siehe 6
  -> in meiner ganzen Karriere ist mir exakt ein Compilerfehler untergekommen,
     den ich durch Upgrade auf eine neue Version gelöst habe (der zweite war
     eine Fehldiagnose meinerseits)


Ein paar geschätzte Zahlen dazu: ca. 90% aller Probleme, die ich mit 
industriell eingesetzten Applikationen hatte fielen in die ersten 3 
Kategorien. Ca. 6% fielen in Klasse 4, weitere 3% in Klasse 5 (ich arbeite mit 
relativ stark vernetzten Systemen). Der überwÄltigende Teil des letzten 
Prozents waren Kompatibilitätsprobleme mit Multi-Plattform-Apps. Ich kann mich 
im Moment nicht erinnern wann genau ich das letzte mal über ein Problem aus 
Kategorie 7 oder 8 gestolpert bin.

Egal wie es auf den ersten Blick aussieht, meine Erfahrung zeigt dass man eine 
Diagnose immer mit der Vermutung User-Fehler beginnen sollte, dann 
Programmierfehler und erst nach Ausschluss aller Möglichkeiten kommt 
Systemfehler in Betracht.



        Konrad

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an