t2informatik » Wissen kompakt » Bugfix

Bugfix

Beseitigung von Softwarefehlern

Die Beseitigung von Softwarefehlern wird als Bugfix bzw. Bugfixing bezeichnet. Ein Bugfix ist das Ergebnis einer Fehlerbeseitigung, Bugfixing ist die Tätigkeit des Fehlerbeseitigens. Was in der Theorie relativ leicht klingt, ist in der Praxis der Softwareentwicklung häufig eine Herausforderung. 

Bevor ein Bugfix implementiert werden kann, muss ein Bug – der englische Begriff „Bug“ bedeutet Fehler – identifiziert und lokalisiert werden. Die Fehleridentifikation geht oftmals von Anwendern aus, die Lokalisierung hingegen meist vom Support und/oder Entwicklungsteam. Was sind die Auswirkungen und der Schweregrad eines Fehlers? Wann tritt der Bug auf, in welchen Anwendungsfällen oder Szenarien, in welcher Häufigkeit und mit welchen Konsequenzen? Idealerweise werden die Antworten auf diese Fragen für jeden identifizierten Defect – ein anderes, gebräuchliches Wort für Fehler – schriftlich festgehalten, so dass sie konkret für die Priorisierung des Bugfixings genutzt werden können:

  • Niedrig: Der Fehler wird lediglich dokumentiert und erst dann wieder thematisiert, wenn seine Häufigkeit oder sein Schweregrad steigt.
  • Mittel: Die Fehlerbeseitigung wird im Zuge der nächsten Planungsrunde – bspw. im Sprint Planning, in der Iterations- oder der Release-Planung – diskutiert und ggf. eingeplant.
  • Hoch: Die Fehlerbeseitigung wird direkt in die laufende Iteration bzw. den laufenden Sprint aufgenommen.
  • Sehr hoch: Der Fehler ist so elementar, dass die Beseitigung nicht auf das Ende des laufenden Entwicklungsintervalls warten kann. Eine direkte, unmittelbare Lösung ist notwendig. Die Bereitstellung der Fehlerbeseitigung kann als Hotfix erfolgen.

Im Zuge eines Refactorings werden häufig sogenannte Code-Smells entdeckt, also Konstrukte im Code, die zwar funktionieren, aber besser strukturiert werden könnten. Die Beseitigung solcher Code-Smells wird nicht als Bugfixing erachtet. Werden jedoch beim Refactoring tatsächliche Fehler im Code entdeckt und im Anschluss beseitigt, handelt es sich um einen Bugfix.

Es ist gelebte Praxis, dass beseitige Fehler nicht nur intern, sondern auch für Anwender dokumentiert werden. Dies kann u.a. in einem separaten Bugfixlog oder in einem Changelog passieren. In den meisten Dokumentationen finden sich auch Hinweise zur Inbetriebnahme der als Patch, Hotfix, Update oder Upgrade zur Verfügung gestellten Fehlerbeseitigung. 

Hinweis:

Wie kann Bugfixing und die Weiterentwicklung einer Software parallel gelingen, beschreibt der Blogbeitrag Das SWAT-Team in Scrum.

“Das Fachwissen zu Softwarearchitekturen, die Expertise in der Softwareentwicklung und die sehr flexible Arbeitsweise waren ideal für uns.“

„Ich brauche Freiheit und Vertrauen. Und ich möchte Verantwortung übernehmen und dabei Spaß haben!“

Share This