Bug

Software Bug

Dt. Insekt bzw. Fehler

Erklärung

In der Software-Entwicklung ist ein Bug ein Synonym für einen Fehler im Verhalten der Software. Bugs können entweder in der Interaktion mit einem Software-Produkt auftreten (Beispiel: nach einem Klick wird eine HTML-Element nicht geladen) oder in Software-Quelle (dem Sourcecode) auftreten. Bugs sind eine täglich auftretendes Hindernis in Digitalunternehmen und binden zum Teil einen großen Anteil der Ressourcen bei der Entdeckung und Behebung im Zuge von digitaler Produktentwicklung.

In den meisten Fällen wird ein Bug von einem Mitarbeiter entdeckt und in einem System dafür als solcher dokumentiert (Bug-Reporting). In diesem System wird der Bug analysiert, um ein flächendeckendes Auftreten zu reproduzieren und den Einfluss auf das Produkt und das Geschäftsmodell abzuschätzen. Danach wird eine Lösung für den Bug ermittelt und der Fehler wird behoben (Bug-Fixing). Eine typische Software zur digitalen Abbildung dieses Workflows ist z.B. Jira von Atlassin.
Die meisten Bugs können über eine schematische Beschreibung identifiziert und abgegrenzt werden. Diese Beschreibung beinhaltet die Gegenüberstellung von dem erwarteten Verhalten und dem tatsächlichen Verhalten eines Elements oder einer Funktion einer Software. Um die Analyse zu erleichtern wird zudem empfohlen Betriebssystem und Browser zu benennen, mit dem das Fehlverhalten beobachtet wurde.

Beispiel Bugreport

Erwartetes Verhalten: Bei einem Klick auf das Kalendar-Symbol auf der Unterseite /datum.html erscheint ein kleines Fenster, das die verfügbaren auswählbaren Daten präsentiert.

Tatsächliches Verhalten: Bei einem Klick auf das Kalendar-Symbol auf der Unterseite /datum.html erscheint eine rote Box um das benachbarte Eingabefeld und es öffnet sich kein Fenster mit weiteren Anweisungen oder Handlungsoptionen.

System: Windows 10, Internet Explorer.

Wurde das erwartete Verhalten in Entwicklung der Funktion inkludiert, handelt es sich bei dem Report um einen Bug. Sollte dies nicht der Fall sein, handelt sich um eine Anforderung.

Zur Vorbeugung von Bugs in Live-Versionen von Produkten oder Software sind in den vergangenen Jahren eine Vielzahl von Anwendungen entwickelt worden. So gibt es in der Software-Entwicklung eine Vielzahl von Debugging-Software und -Funktionen in Code-Editoren oder ein wachsendes Ökosystem von manueller oder automatisierte Test-Software.

Siehe auch

Bug-Report, Bug-Fixing, Debugging, HTML, Javascript, Testing