Website-Bugs sind nicht nur das Lieblingsfrühstück von Leankoala, sondern Teil von Software- und Webentwicklung. Zeit also, dass die “bugs in the wild” (die es ins Freie des WWW geschafft haben) nicht mehr nur als Anekdoten in der Kaffeeküche ihr Dasein fristen. Also starten wir heute eine kleine Kolumne, zu der auch alle Leser eingeladen sind sich zu beteiligen. Es geht um die größten Missgeschicke Eurer Entwickler- oder Testerlaufbahn.

Den Anfang macht unser Chief Technology Koala Nils, der ja bereits seit 20 Jahren Software für das World Wide Web entwickelt und so schon den einen oder anderen Fehler das Tageslicht der Live-Umgebung erblicken sehen hat. Gemeinsam mit anderen Leankoalas wollen wir zeigen, dass auch die Besten Fehler machen und dass Missgeschicke und Fehler einfach dazu gehören, wenn man Software entwickelt. Natürlich hoffen wir auch, dass die ein oder anderen Schmunzler dabei für Euch rausspringen. So, nun also Nils:

“Meine Lieblingsgeschichte ist im Verlagsumfeld passiert. Redaktionelle Webseiten sind meistens nicht besonders schnell. Das liegt daran, dass sie meistens nicht besonders schnell sein müssen. Statischer Inhalt kann ohne Probleme lange vom Cache vorgehalten werden. Es ist also kein Problem, wenn das Rendern eines Newsartikels beispielsweise 30 Sekunden braucht. Und ja, das sind echte Zahlen. Natürlich ist niemand stolz auf eine solche Performance, aber es wird hingenommen.

Jetzt zurück zu meiner Geschichte. Eines Tages bekomme ich von einem Entwickler eine E-Mail, dass er die Startseite des Newsportals auf einen Schlag um 10 Sekunden schneller bekommen hat. Wir waren natürlich alle hellauf begeistert. Die Lösung war auch relativ einfach. Er hat im Code ein “sleep(10)” gefunden. Irgendjemand hat also aus Versehen das System für 10 Sekunden schlafen gelegt. Ist leider über Wochen oder Monate niemandem aufgefallen.

Ein klares “shit happens” würde ich sagen. Sollte aber nicht wieder vorkommen. Dem Unternehmen tat es aufgrund der sehr guten Caching-Strategie nicht weh. Doof war es trotzdem.”

Was hätte man  machen können, damit das nicht passiert? Da gibt es mehrere Möglichkeiten. Eine wäre statische Code-Analyse. Es gibt mehrere Werkzeuge, die den Code, ohne ihn auszuführen, auf das Vorkommen von bestimmten Keywords untersuchen. Natürlich würde auch ein einfaches Suchen nach dem Text “sleep” funktionieren, aber die dafür entwickelten Werkzeuge, wie zum Beispiel der PHP Code Sniffer, können bereits mit Kommentaren und Co. umgehen. Und dazu müsste man natürlich auch antizipieren, dass jemand diesen Text in den Code einbauen könnte.

Eine weitere Möglichkeit ist die kontinuierliche Überwachung der Performance der einzelnen Seiten. Dies kann mit Leankoala in Minuten eingerichtet werden. Da der Endnutzer nur die gecachte Version einer Webseite zu Gesicht bekommt, wird bei Leankoala immer ein Timestamp an die URL gehängt, um eine aktuelle Antwort vom Server zu erzwingen.

Mittlerweile setzt auch das Verlagshaus, bei dem das unfreiwillige Nickerchen passiert ist, Leankoala ein. Es wird also nicht mehr vorkommen.

Welcher Fehler ist Euch oder Eurem Team unbemerkt ins Freie entwischt? Erzählt es uns in den Kommentaren oder unter contact@leankoala.com!

Grafik: Designed by Freepik