fbpx
Logo Qcademy

Meine Vorbereitung auf die ISTQB Foundation Prüfung

Kai bereitet sich in seiner Weiterbildung bei der Qcademy auf die ISTQB Foundation Prüfung vor. In seiner Artikel-Serie gibt er Dir dabei einen Einblick, was er in den jeweiligen Lektionen gelernt hat.

Was ist ein Bug?

Ein sogenannter Bug ist ein Fehler innerhalb eines Programms, der dazu führt, dass das Programm nicht wie erwartet funktioniert. Man kann davon ausgehen, dass in jedem Programm und in jeder Software Bugs zu finden sind, viele davon aber gar nicht bekannt sind, weil sie keine Fehlerwirkung zeigen, also niemandem (als Bug) auffallen.

 

 

Werde jetzt in 6-12 Monaten Software-Tester!

Du interessierst Dich für den Quereinstieg in die IT? Dann bist Du auf Qcademy genau richtig! Als Quereinsteiger im Software Testing schaffst Du den Einstieg zusammen mit uns. Wir haben mehr als 25 Jahre Erfahrung in der IT in leitenden Rollen und haben schon eine große Anzahl an Personen den Quereinstieg in das Software Testing ermöglicht.

 

 

In jedem Fall ist ein Bug die „Nichterfüllung einer Anforderung“ und kann je nach Wirkung und Ausmaß unterschiedlich eingeordnet werden, was Schwere (Severity) und Bearbeitungspriorität (Priority) angeht.

 

Fehlerkosten und wie sie mit der Zeit steigen

Die Entwicklung und das Programmieren einer Software verursachen natürlicherweise Kosten, beispielsweise in Form von Gehältern, Marketingkampagnen, Produktion etc. Auf die gleiche Weise wirken sich auch Fehler, deren Auffinden, ihre Behebung und ggf. Folgeaktionen finanziell aus. Denn dieser Prozess benötigt in der Regel nicht nur Zeit, sondern auch Ressourcen, zum Beispiel in Form von Arbeitskraft.

 

 

Fehler können in jeder Phase der Entwicklung entstehen, meistens jedoch während des Produktdesigns und der programmatischen Umsetzung. Finden sich Fehler, muss das Entwicklungsteam in den meisten Fällen den Code anpassen. Je später dies passiert, je mehr Code also geschrieben und je mehr funktionale Verknüpfungen in der Software entstanden sind, desto aufwändiger kann die Fehlerbehebung werden – und desto teurer.

 

Geht man beispielsweise davon aus, dass bereits in der anfänglichen Analyse oder beim initialen Design der Software Fehler auffalle, so können die Entwürfe überwiegend noch recht schnell und einfach angepasst werden. Ist bereits Code geschrieben, muss dieser korrigiert werden, wobei auf die stetige Kompatibilität mit dem restlichen Programm zu achten ist. Fällt eine Fehlerwirkung jedoch erst im Produktivsystem auf, so fällt nicht nur die Behebung dieses Fehlers an, sondern ggf. auch die Korrektur daraus resultierender Folgefehler – und die entsprechende Kommunikation an Betroffene und Beteiligte.

 

Die Faustformel – auch Zehnerregel genannt – geht von einer exponentiellen Steigerung der Kosten einer Fehlerbehebung von 10 aus. Das heißt: Wird der Fehler noch während der Analysephase gefunden, ist die Fehlerbehebung nicht mit großem Aufwand verbunden und kostet beispielhaft gesprochen 10,00 Euro. Wird der Fehler hingegen erst in der folgenden Designphase entdeckt, kommen bereits 100,00 Euro Behebungskosten auf, also das Zehnfache. Während des Programmierens selber wären es der Faustformel nach dann schon 1.000,00 Euro, während der Testphase 10.000,00 Euro und letztlich auf Produktionsebene 100.000 Euro.

 

Diese Zahlen sind zwar nur Richtwerte, nichtsdestotrotz verbildlichen sie, wie wichtig frühes Testen und Fehlerbeheben sind. Andernfalls kann ein zu spät gefundener Fehler große Kosten nach sich ziehen, zum Beispiel, wenn eine Vielzahl von Nutzenden informiert, Transaktionen rückgängig oder korrigiert und ggf. temporär Workarounds einge- und vielleicht sogar Entschädigungen entrichtet werden müssen.

 

Form eines guten Fehlerberichts

Auf die Entdeckung eines Bugs folgt in der Regel die detaillierte Dokumentation des Bugs, damit das Entwicklungsteam bestmöglich über die Fehlerwirkung informiert werden und möglichst zielgerichtet mit der Ursachenforschung und -behebung beginnen kann. Zu diesem Zweck sollte für jeden neu gefundenen Bug ein genauer Fehlerbericht erstellt werden.

 

 

Ein guter Fehlerbericht ist eindeutig zuordenbar, so kurz wie möglich und so umfangreich wie nötig. Eine eindeutige Berichts-ID dient als Erkennungsmerkmal, außerdem hilft auch ein prägnanter Titel. Inhaltlich muss ein guter Fehlerbericht genaue Informationen darüber enthalten, was von wem wann mit welchen Daten auf welchem System oder in welcher Umgebung, mit welchen Resultaten getan hat.

 

Eine detaillierte Schritt-für-Schritt-Anleitung ist hier von Nutzen, damit das Entwicklungsteam nachvollziehen kann, was geschehen ist, und den Fehler ggf. sogar nachstellen kann, falls er reproduzierbar ist. Ebenso wichtig ist das Aufführen des eigentlich erwarteten Verhaltens der Software – also eine Gegenüberstellung des Soll-Zustands mit dem Ist-Zustand.

 

Eine weitere wichtige Information, die in einem guten Fehlerbericht enthalten sein sollte, ist die Einschätzung einerseits bezüglich der Schwere des Fehlers, hinsichtlich der Nutzbarkeit der Software und andererseits bezüglich der Priorität, mit der der Bug behoben werden sollt.

 

Je wichtiger die betroffene Funktion der Software ist und je stärker sie beeinträchtigt ist, desto schwerer wiegt der Bug und desto schneller sollte er behoben werden. Gleiches gilt, wenn eine große Anzahl von Nutzenden betroffen ist oder Zeitdruck hinsichtlich der Fehlerbehebung besteht.

 

Mögliche Gründe für Softwarebugs

 

 

Ein Bug ist stets ein Fehlerzustand in der Software oder dem System. Viele bleiben unbemerkt, andere zeigen sich jedoch in Form einer Fehlerwirkung und haben somit sichtbare Auswirkungen auf die Nutzung des Programms.

 

Festzuhalten ist, dass Bugs auf vielfache Weise entstehen können, meist jedoch auf menschliches Versagen zurückzuführen sind – beispielsweise, wenn das Entwicklungsteam Tipp- oder Logikfehler in den Code eingebaut hat. Die Softwareanforderungen lückenhaft oder missverständlich waren und somit die Umsetzung auf Grundlage eines falschen Verständnisses erfolgt ist. Fehler können aber auch auf Probleme bei Hardware oder System zurückzuführen sein.

 

 

Oft sind Zeitdruck, Unachtsamkeit, mangelnde Kommunikation, Änderungen der Anforderungen oder geänderte technologische Gegebenheiten der Grund für die Entstehung von Fehlerzuständen in einem Programm. Je genauer die Erfordernisse für die gewünschte Software definiert sind und allen Beteiligten kommuniziert werden, inkl. aller Grenzfälle und möglicher Probleme, desto geringer ist die Wahrscheinlichkeit, dass (schwerwiegende) Fehler produziert werden.

Wer schreibt hier?

Auf Social-Media teilen

Software Testing Akademie

Das könnte Dich auch interessieren

Ähnliche Artikel aus unserem Qcademy Blog, die auch für Dich interessant sein könnten. Schau jetzt rein!

Jetzt auf einen Platz in unserer Qcademy bewerben und innerhalb von 6-12 Monaten Software-Tester werden

Als Quereinsteiger im Software Testing schaffst Du den Einstieg zusammen mit uns. Wir von Qcademy begleiten Dich berufsbegleitend bis Du einen Job als Software-Tester erhalten hast und das mit Job-Garantie!

15.000 Software-Tester

werden aktuell gesucht

In 6 bis 12 Monaten

zum Software-Tester

Keine Programmierkenntnisse

nötig

Kleine Lerngruppen

bis zu 15 Teilnehmer