Bug

Ein Bug ist ein Fehler bzw. eine Fehlfunktion innerhalb eines technischen Systems, z. B. einer Computer-Software. Spricht man im Zusammenhang von Webseiten oder Software von Bugs, meint man damit in der Regel eine Fehlfunktion innerhalb des Quellcodes. Ein Bug führt fast immer dazu, dass eine bestimmte Funktion nicht korrekt oder sogar gar nicht ausgeführt werden kann. In der Praxis werden Bugs häufig erst während der Anwendung der Software festgestellt. Als Anwender hat man dann die Möglichkeit, z. B. über eine Support Hotline oder auch per Mail, den Bug zu melden. Ein Entwickler bzw. ein Entwicklerteam kann dann, dank der entsprechenden Meldung, den Bug fixen, also den Fehler beheben.

Als der Fehler zum Bug wurde

Das Wort „Bug“ kommt aus dem Englischen und kann mit „Insekt“ oder „Käfer“ ins Deutsche übersetzt werden. Die Verwendung des Begriffs „Bug“ synonym für Fehler in Computersystemen wurde erstmals erwähnt, als im Herbst des Jahres 1945 eine Motte in einem Schalter eines Computers eine Fehlfunktion hervorrief. Anschließend wurde die Motte in ein Logbuch geklebt. Der dazugehörige Eintrag führte dazu, dass man von diesem Zeitpunkt an, für Fehler im Computersystemen synonym das Wort „Bug“ verwendet.

Welche verschiedenen Arten von Bugs gibt es?

Es gibt zahlreiche Arten von Bugs. Die Tatsache, dass ein Quellcode manchmal einen Fehler aufweist, ist wenig verwunderlich, wenn man bedenkt, aus wie vielen Zeilen ein Quellcode bestehen kann. Bei sehr umfangreicher und komplexer Software kann ein Quellcode schon mal mehrere Millionen Zeilen betragen. Somit sind Fehler, gerade auch weil der Quellcode von Menschen geschrieben wird, vorprogrammiert. Ein Das ist auch der Grund dafür, warum Software häufig vor dem eigentlichen Start schon von bestimmten, meist ausgewählten Nutzern getestet werden kann.

Der Softwarehersteller möchte, dass die Software bezogen auf die Funktionalität im täglichen Gebrauch getestet wird und falls Verbesserungsvorschläge vorhanden sein sollten, diese an den Hersteller weitergeleitet werden.

Damit Fehler bei der Programm- bzw. Softwareentwicklung im Vorfeld schon bestmöglich verhindert werden können, sollte der Planung ein konkretes Konzept unterliegen. Damit auch im Nachhinein das Auffinden eines Fehlers noch möglich ist, also möglich ohne größere Aufwände zu betreiben, sollte bei der Programmentwicklung auf eine gute Dokumentation geachtet werden. Der Vorteil einer sauberen Dokumentation ist, dass man feststellen kann, zu welchem Zeitpunkt oder bei welchem Entwicklungsschritt der entsprechende Fehler erstmals aufgetreten ist.

Früher, zu Zeiten wo das Internet noch nicht verfügbar war, stellten Software-Bugs speziell die Anwender noch vor größere Herausforderungen. Heute werden Software-Hersteller meistens zeitnah durch deren Anwender über Bugs in der Software informiert, oder die Software-Hersteller stellen diese sogar eigenständig fest. Ist ein Bug erst einmal bekannt, wird dieser in der Regel zeitnah gefixt und kann mit Hilfe eines Software-Updates meistens schnell gefixt werden.

Zwischen den folgenden Fehlern kann unterscheiden werden

Syntaxfehler: Jede Programmiersprache verwendet unterschiedliche Zeichen die bestimmten Regeln unterliegen. Werden die reservierten Zeichen an falscher Stelle verwendet, führt dies zu einem Syntaxfehler. Zu den reservierten Zeichen können, je nach Programmiersprache, Zeichen wie Anführungsstriche, Klammern etc. gehören.

Lexikalische Fehler: Ein lexikalischer Fehler besteht dann, wenn bestimmte Wörter bzw. Befehle, die bei jeder Programmiersprache unterschiedlich sind (oder sein können), nicht korrekt geschrieben wurden. Schon kleinste Abweichungen, z. B. bei Groß- und Kleinschreibung, können dazu führen, dass ein Programmablauf abgebrochen wird.

Semantischer Fehler: Werden die in der Programmiersprache festgelegten Paramater falsch definiert, führt dies in der Folge zu einem semantischen Fehler. Auch wenn die syntaktische Anweisung richtig ist, kann dies zu falschen Ergebnissen oder einem Programmabbruch führen. Der Grund ist, dass trotz syntaktisch korrekter Anweisung eine fehlerhafte Funktion vorliegen kann.

Laufzeitfehler: Der Unterschied des Laufzeitfehlers ist im Vergleich zu den vorhergenannten Fehlern, dass dieser erst bei der eigentlichen Ausführung des Programms auftreten kann. Das kann dann der Fall sein, wenn dieser Fehler beispielsweise während der Entwicklungsphase nicht erkannt wurde. Ein Laufzeitfehler kann zu einem Programmabsturz oder dazu führen, dass keine weiteren Eingaben mehr getätigt werden können. Umgangssprachlich spricht man in diesem Zusammenhang vom „einfrieren“ des Programms.

Bugs aus Sicht der Suchmaschinenoptimierung

Bugs, also das Vorhandensein von Fehlern im Quellcode, sind aus Sicht der Suchmaschinenoptimierer zu verhindern. Wenn beispielsweise der Webseitencrawler von Google (Googlebot) eine Webseite crawlt, bewertet er mit Hilfe eines bestimmten Algorithmus diese Webseite. Ist der Quellcode fehlerhaft, muss man als Webseitenbetreiber damit rechnen, dass Google die entsprechende Webseite eher negativ bewertet. Sind z. B. zwei Webseiten inhaltlich sehr ähnlich, aber im Quellcode der einen Webseite befinden sich deutlich mehr Bugs als im Quellcode der anderen Webseiten, kann dies der ausschlaggebende Grund dafür sein, weshalb die fehlerhaftere Webseite ein schlechteres Ranking erzielt als die andere Webseite.

PageRangers bietet mit dem Modul „Optimierung“ ein ideales Tool, um die OnPage-Faktoren einer Webseite auf bestimmte Bugs zu überprüfen. Häufig finden sich dort Bugs, über die man sich als Webmaster nicht im Klaren war. Bekommt man Bugs angezeigt, kann man diese beheben und entsprechend beheben. Wurden Fehler behoben, kann z. B. auch die Usability und die damit häufig verbundene Verweildauer gesteigert werden. Auch das sind aus der Sicht von Google positive Signale, die nicht unterschätzt werden sollten.

Die logische Folge ist, dass eine optimierte Webseite durch Google in der Regel positiv bewertet wird und somit auch eine Verbesserung der Rankings erzielt werden kann.

Domain Popularity

Die Domain Popularity (deutsch: Domainpopularität oder Domainbeliebtheit) gibt an, auf wie vielen verschiedenen Domains eine Webseite verlinkt wurde. Dabei ist nicht die Anzahl der Links

Weiterlesen >>

Deepbot

Als Deepbot wird eine bestimmte Art von Suchmaschinencrawler bezeichnet, der wie der Name schon sagt, tief (englisch: deep) in die Struktur einer Webseite verstößt, um

Weiterlesen >>

Breadcrumb

Breadbrumbs helfen deinen Besuchern schneller zu erkennen, wo sie sich grade innerhalb deiner Webseite befinden und lassen einen schnellen Sprung zur nächsthöheren Ebene bzw. Kategorie

Weiterlesen >>

URL Shortener

URL (= engl. Uniform Resource Locator) Shortener sind Dienste und Tools, mit denen man lange URLs auf wenige Zeichen herunterkürzen kann. So wird zu einer existierenden URL

Weiterlesen >>

Suchvolumen

Das Suchvolumen gibt an, wie häufig nach einem Keyword (Schlüsselwort) bei Suchmaschinen wie Google gesucht wurde. Dabei ist es wichtig, das Suchvolumen für einen bestimmten

Weiterlesen >>

Tracking Pixel

Mit Hilfe eines Tracking Pixels lassen sich bestimmte Nutzer-Aktivitäten tracken bzw. nachvollziehen. Der Tracking Pixel ist eine kleine Grafik (1×1 Pixel) die z. B. beim

Weiterlesen >>