rrze.fau.de
Kleine Fehler mit großer Wirkung
In der Welt der Programmierung und Webentwicklung begegnet man dem Begriff „Bug“ ständig. Doch was verbirgt sich hinter diesem Wort, wie entstehen solche Fehler und wie geht das RRZE damit um? Gemeinsam mit Barbara Bothe aus der Webentwicklung des RRZE werfen wir einen Blick hinter die Kulissen. Was ist ein Bug? Ein Bug ist ein Fehler oder ein unerwartetes Problem in einer Software. Es handelt sich dabei um einen Fehler, der entweder Teile der Software an der Funktion hindert, dazu führt, dass die Anwendung nicht wie gewünscht reagiert oder im schlimmsten Fall komplett abstürzt. Diese Fehler können durch Programmierfehler entstehen, aber auch durch äußere Faktoren wie Browser-Updates oder neue Versionen von Programmiersprachen wie PHP oder JavaScript. Warum heißt es „Bug“? Das Wort kommt aus dem Englischen und bedeutet „Käfer“. Diese Bezeichnung geht auf die Zeit zurück, als Computer noch riesige, schrankgroße Anlagen waren. Auch im Regionalen Rechenzentrum Erlangen (RRZE) steht mit der Zuse Z23 (www.iser.fau.de) ein passendes Beispiel für einen solchen Computerschrank. Der erste dokumentierte Fall eines „echten“ Computer-Bugs war eine Motte, die 1947 in einem Relais gefunden wurde. Damals konnten Insekten oder Staub in die Zwischenräume der Elektronik gelangen und Kurzschlüsse verursachen. Auswirkungen auf den Benutzer Bugs können das Erlebnis auf einer Webseite erheblich stören oder zumindest einschränken. Man unterscheidet die Auswirkungen unter folgenden Punkten: Darstellungsfehler: Diese reichen von falsch formatierten Buttons bis hin zu Texten, die über den Bildschirmrand hinausragen. Funktionsfehler: Hierbei werden beispielsweise Inhalte nicht geladen oder die Seite lässt sich nicht richtig scrollen. Fehlende Funktionen: Ein kritischer Punkt ist laut Bothe die fehlende Barrierefreiheit auf einer Webseite: „Jemand der nicht sehen kann, braucht eine Textbeschreibung für visuelle Elemente wie Bilder und Icons, denn wenn die nicht vorhanden ist, kann er die Webseite nicht bedienen.“ Diesen Bug sieht man auf den ersten Blick nicht, es ist jedoch wichtig ihn anzusprechen, da Personen mit einer Sehbehinderung ausgeschlossen werden, eine Webseite zu bedienen. Maßnahmen zur Fehlervermeidung Das RRZE-Webteam nutzt verschiedene Strategien, um Fehler von Anfang an zu minimieren. Da es laut Bothe in der Praxis fast unmöglich ist, eine Webseite für jede erdenkliche Kombination aus Gerät, Betriebssystem und Browser perfekt fehlerfrei zu halten, konzentriert sich das Team beim Testen auf die gängigsten Systeme. Eine Strategie ist das „Vorbauen“. Das Team informiert sich über Plattformen und in Foren über bevorstehende technische Änderungen. So erfahren die Entwickler frühzeitig, welche Funktionen bei einem nächsten Update (beispielsweise von PHP oder JavaScript) entfernt werden könnten, und können den Programmcode bereits im Vorfeld anpassen. Dies hilft dabei, plötzliche Ausfälle der Webseite zu verhindern. Bugs in der heutigen Zeit Bugs sind heute ein fester Bestandteil in der IT. Eine neuere Entwicklung in diesem Bereich sind sogenannte „Bug-Bounty-Systeme“. Dabei suchen Personen gezielt nach Sicherheitslücken oder Fehlern in Programmen, in den auf GitHub veröffentlichten Plugins des RRZE, um für diese Funde eine finanzielle Belohnung zu fordern. Solche Forderungen werden vom RRZE als kritisch betrachtet, da sie oft an Erpressung grenzen, wenn die Finder erst dann bereit sind, Informationen über die Lücke preiszugeben, nachdem eine Zahlung geleistet wurde. Wie sollten Benutzer bei einem Bug vorgehen? Sollten Sie auf einer Webseite der FAU einen Fehler entdecken, können Sie diesen melden. Laut Bothe gibt es dafür am RRZE zwei Wege: Der Helpdesk: Dies ist die zentrale Anlaufstelle für alle Fehlermeldungen. GitHub: Technisch versierte Nutzer können direkt in den Repositories ein „Issue“ (eine Fehlermeldung) erstellen. Fazit Bugs gehören trotz sorgfältiger Entwicklung zum Alltag in der Webentwicklung. Sie entstehen durch Programmierfehler, technische Veränderungen oder die Vielzahl unterschiedlicher Geräte und Browser. Um die Auswirkungen möglichst gering zu halten, setzt das Webteam des RRZE auf Tests, frühzeitige Anpassungen an neue Technologien. Gleichzeitig spielen auch die Nutzerinnen und Nutzer eine wichtige Rolle: Durch das Melden von Fehlern über den Helpdesk oder GitHub können Probleme schneller erkannt und behoben werden. So trägt die Zusammenarbeit zwischen Entwicklern und Anwendern dazu bei, die Webseiten der FAU zu verbessern. Text: Niklas Bachstein