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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Lug-dd maillist - [email protected] https://ssl.schlittermann.de/mailman/listinfo/lug-dd
