Software Testing as a Service
Services
By Method
Code ReviewUnit TestsIntegration TestsSystem TestsRegression TestsSecurity TestsUsability Tests
By Approach
WebsiteMobileCloudBlockchainIoTAI/ML
By Operation
Process OptimizationCI/CD Design & ImplementationTest Reporting & Monitoring
ServicesPricingHow It WorksReferencesAbout UsBlogFREE CONSULTATION
FREE CONSULTATION
Posted on 
July 6, 2020

3-Schritte Leitfaden zur Identifikation von Software Bugs - Welche müssen wirklich behoben werden?

Einleitung

Fehlerbehebungen in Software, engl. bug fixing, sind ein wesentlicher Bestandteil des Qualitätssicherungsprozesses und machen einen wesentlichen Unterschied in der kontinuierlichen Integration des Produktes beim Kunden aus. Als IT-Verantwortlicher denken Sie vielleicht, der Code Ihres Teams ist tadellos, perfekt, und korrekt. Aber wissenschaftliche Studien als auch Erfahrungen haben zeigen, Fehler schleichen sich ein. Stressig kann es dann werden, wenn die Fehler kurz vor der Veröffentlichung auftauchen. Wenn eine harte Frist eingehalten werden soll, muß in der Regel eine kritische Entscheidung getroffen werden:

Welche Fehler beheben Sie sofort und mit welchen Fehlern leben Sie?

Dieser 3-Schritte Leitfaden zeigt IT-Verantwortlichen, wie solche Entscheidungen zu treffen sind.

1. Unternehmensziele definieren

Nicht alle Unternehmen haben dieselben Ziele und damit IT-Strategien, wie mit Fehlern in der Software umzugehen ist. Zum Beispiel konzentrieren sich E-Commerce-Unternehmen auf Conversion-Raten, Medienunternehmen sorgen sich um Bounce-Raten, Mobile App-Unternehmen legen Wert auf ihre App-Bewertungen, und Fintech-Unternehmen stellen Informationssicherheit über alles. Softwarebugs, die Sie priorisieren und beheben möchten, hängen vollständig von Ihren Unternehmenszielen ab. Nehmen Sie sich also zuerst Zeit, diese zu definieren, bevor Sie mit dem nächsten Schritt fortfahren.

2. Erstellen Sie einen Schweregradbewertungsprozess

Nun ist es an der Zeit, den Fehlern basierend auf Ihren Geschäftszielen einen Schweregrad zuzuweisen. Der Schweregrad ist die Auswirkung eines Fehlers auf das Software-Programm. Häufig wird der Grad in Kategorien wie niedrig, hoch und kritisch eingeteilt. Agile Software-Umgebungen wie Jira, Pivotal und viele andere machen es Ihnen leicht, diese Kategorien nach Ihren Wünschen zu kennzeichnen. Während die Kriterien, wann ein Fehler in den einzelnen Kategorien zugeordnet wird von IT-Unternehmen zu IT-Unternehmen einzigartig ist, haben wir hier einige allgemeine Richtlinien zusammengefasst, die Ihnen einen Überblick verschaffen.

NIEDRIG

Minimale Auswirkungen auf die Verwendung des Produkts.
Das Produkt zeigt unbeabsichtigtes Verhalten, die allgemeine Verwendung ist jedoch nicht betroffen.
Nur wenige Benutzer, Produkte oder Artikel sind betroffen.
Ein Feature / eine Funktion ist defekt oder nicht verfügbar, aber eine einfache Problemumgehung löst das Problem.
‍

HOCH

Schwerwiegende Auswirkungen auf die Verwendung des Produkts, aber die Hauptfunktionalität ist intakt.
Eine große Anzahl von Benutzern, Produkten oder Artikeln ist betroffen.
Nicht triviale Funktionen sind fehlerhaft oder nicht verfügbar, und es gibt keine Problemumgehung.
Wesentliche Funktionen sind fehlerhaft oder nicht verfügbar, es gibt jedoch eine Problemumgehung (daher kein Showstopper).
‍

KRITISCH

Der Fehler verhindert die Kernfunktionalität der Anwendung,  Website oder Mobilen App.
Ein Showstopper verhindert, dass der Benutzer mit dem Hauptprozess fortfährt, z. der Checkout-Prozess.
Der Fehler verursacht einen potenziellen und bemerkenswerten Umsatzverlust für das Unternehmen, das die App oder Website ausführt.

Für den weiteren Kontext kann es hilfreich sein, Ihren Testern spezifische Beispiele für Fehler und die Schweregrade mitzugeben, die Sie ihnen in einem "Fehlerbewertungsblatt" zuweisen. Bitte beachten Sie jedoch, dass dies allgemeine Richtlinien sind. So etwas wie ein inhaltlicher / visueller Fehler, bei dem ein Bild nicht geladen wird, kann für einen E-Commerce-Shop von entscheidender Bedeutung sein (Hypothese: Käufer kaufen nicht, was sie nicht sehen können), während sie sich auf einer Fintech-Website befinden.

3. Priorisieren Sie Fehler anhand des Schweregrads

Es wird nun Zeit zu priorisieren, welche Fehler behoben werden müssen, damit das Programm für die Veröffentlichung gut genug ist und den Kundenanforderungen genügt. Sie haben die Dinge ermittelt, die Ihrem Unternehmen am wichtigsten sind, und Sie haben anhand des von Ihnen zugewiesenen Schweregrads deutlich gemacht, welche Fehler diese Ziele beeinflussen. Genauso wie nicht alle Fehler gleich erstellt werden, werden auch nicht alle kritischen Fehler gleich erstellt.

Konzentrieren wir uns auf das E-Commerce-Beispiel.

Stellen Sie sich vor, Ihr Team hat einen Fehler gefunden, bei dem gültige Kreditkartennummern als ungültig markiert und nicht verarbeitet werden. Dies behindert den Umsatz und wird als kritisch eingestuft. Ein anderer Tester hat einen Fehler gefunden, bei dem Artikel einer bestimmten Produktlinie nicht zum Warenkorb hinzugefügt werden können. Gemäß Ihrem Fehlerbewertungsprozess wurde dies auch als kritisch gekennzeichnet. Beide Fehler verhindern das Auftreten von Transaktionen. Welchen beheben Sie also zuerst? Da der erste Fehler jeden Artikel im Geschäft betrifft, während der zweite nur einen Teil des Geschäfts betrifft, sollte dem ersten eine höhere Priorität zugewiesen und zuerst behoben werden.

‍

Wie kann ich einen guten Bug-Fixing Prozess implementieren

Obwohl das Bedürfnis aufkommen mag, Sie müssen jeden gefundenen Fehler gleichrangig beheben, sorgen erfahrene Teams dafür, dass zuerst die wichtigen Bugs priorisiert werden. Wenn Sie also das nächste Mal in einer solchen Situation sind, versetzen Sie sich in die Lage Ihrer Kunden und überlegen Sie, welcher Software-Bug die größten Auswirkungen auf den Kunden zum Beispiel in Hinblick auf das Geschäftsmodell hat. Sobald Sie diesen Prozess standardisiert haben, sind Sie auf dem besten Weg, qualitativ hochwertigere Software schneller zu versenden.

Wir vom Team ditCraft haben uns auf das QA-Management und Testing von Software spezialisiert. Unsere Experten sind darauf trainiert die Geschäftsprozesse des Kunden zu analysieren und eine optimale Strategie zu implementieren, die richtigen Fehler zu beheben.

Wenn auch Sie von unseren langjährigen Erfahrungen profitieren wollen, nehmen Sie Kontakt mit uns auf.

Tagged:
Educational
Prof. Dr. Sebastian Gajek
Chief Scientist & Co-Founder
view All Posts
Featured Posts
3-Schritte Leitfaden zur Identifikation von Software Bugs - Welche müssen wirklich behoben werden?
dao.care Smart Contract Audit
Berlin Blockchain Week’19
Tags
Development
Educational
Events
News & Announcements
Reports
More Posts

You Might Also Like

Testability Guideline
Aug 10, 2020
 by 
Stefan Friese
CI/CD Pipelines der nächsten Generation mittels Continuous Testing
Jun 29, 2020
 by 
Prof. Dr. Sebastian Gajek
Test Automation + Agile Software Development = Faster Product Readiness
Jun 10, 2020
 by 
Prof. Dr. Sebastian Gajek
dao.care Smart Contract Audit
Apr 23, 2020
 by 
Marvin Kruse
Berlin Blockchain Week’19
Oct 23, 2019
 by 
Marvin Kruse
PoW#3: Updates to the ditExplorer v0.2, ditCLI v0.3 and Introducing the ditIndexer
Oct 22, 2019
 by 
Yannik Goldgräbe
Terms of ServicePrivacy PolicyImprintContact
© 2020 by ditCraft UG. All rights reserved.