Hier ist eine frustrierende Situation: Jemand bemerkt einen echten Layout-Fehler oder eine Art Glitch, aber es gelingt ihm nicht, das Problem genau zu beschreiben, wenn er davon erzählt. Als Frontend-Entwickler und gute Teamplayer ist es unsere Verantwortung, einen Workflow für die Meldung, Katalogisierung und Beschreibung von Fehlern zu etablieren, auf die Menschen wahrscheinlich stoßen werden.
Ein System für Fehlerberichte in einem Teamumfeld hat eine Menge Vorteile
- Zu wissen, welche Fehler aktuell existieren.
- Zu verstehen, wer an was arbeitet (und was er braucht).
- Einen Überblick darüber zu bekommen, wie viel Zeit für die Fertigstellung der Dinge benötigt wird.
- Aufgaben zu finden, die blockiert sind oder die eine Art Abhängigkeit erfordern, bevor sie angegangen werden.
Der erste Schritt ist die Wahl eines Tools, mit dem sich jeder wohlfühlt
Mit einem soliden System zur Fehlerbehebung sind wir in einer viel besseren Position, um großartige Arbeit zu leisten. Dennoch ist es wichtig zu beachten, dass gute Fähigkeiten zur Fehlerberichterstattung nicht nur eine Voraussetzung für Entwickler sind. Jeder im Team sollte in der Lage sein, einen Fehler zu finden und möglichst viele Informationen dazu bereitzustellen. Das bedeutet, dass Designer, Entwickler und Projektmanager aller Erfahrungsstufen keine Angst haben sollten, das Fehler-Tool zu nutzen und sich einen Überblick über das Projekt als Ganzes zu verschaffen.
Ich habe immer festgestellt, dass Trello mein persönlicher Favorit ist, da es für den Rest des Teams viel mehr Sinn ergibt, aber das bedeutet nicht unbedingt, dass es für Ihren speziellen Anwendungsfall am besten geeignet ist. Hier sind einige der beliebtesten Fehlerverfolgungstools und -dienste, die es wert sind, ausprobiert zu werden
Unabhängig vom gewählten Tool müssen wir am Ende sicherstellen, dass alle mit dem vorgeschlagenen Workflow zufrieden sind, da wir die Hilfe aller benötigen werden, um das Projekt zu dokumentieren, aufzuzeichnen und nach potenziellen Fehlern zu durchsuchen.
Ein nutzloser Fehlerbericht
Selbst wenn Sie das perfekte Tool wählen, bedeutet das nicht unbedingt, dass es von jedem auf hilfreiche Weise genutzt wird. Es gab viele Fälle, in denen ich Schwierigkeiten hatte, einen gemeldeten Fehler aufgrund mangelnder Informationen zu finden.
Nicht sehr hilfreich
- „Der Listenstil ist in IE kaputt“
- „Beim Scrollen über die Seite gibt es komische Glitches“
Tatsächlich sind diese Arten von Kommentaren für einen Entwickler fast nutzlos, da sie nicht *spezifisch* genug sind. Entwickler würden es vielmehr bevorzugen, wenn ein Fehlerbericht Informationen wie *wer, was, wo, wann und warum* enthält.
Ein hilfreicher Fehlerbericht
Obwohl dies vollständig vom jeweiligen Fall abhängt, wäre es am besten, etwas Ähnliches zu lesen wie
„Der spezielle Listenstil auf der Kontaktseite ist in Firefox und IE11 falsch links neben seinem Container positioniert. Bitte sehen Sie sich das angehängte Bild für weitere Informationen an.“
Von hier aus kann ein Entwickler den fraglichen Fehler sofort finden und mit der Ausarbeitung einer richtigen Lösung für das Problem beginnen.
Aber wie helfen wir allen anderen im Team, *großartige* Fehlerberichte zu schreiben?
Ich habe es als äußerst hilfreich empfunden, zu Beginn des Projekts mit jedem im Team zusammenzusitzen und detailliert zu erläutern, wie wir mit ihnen arbeiten sollen. Wer sagt, wann ein Fehler behoben ist? Wer überprüft welchen spezifischen Code-Schnipsel? Welche automatisierten Tools sollen wir zur Fehlersuche verwenden? Welche Ressourcen benötigen wir vom Designteam, wenn sie einen finden? Dies sind wichtige Fragen, die zu frustrierenden Problemen führen können, wenn sie unbeantwortet bleiben.
Ich habe eine kurze Liste von Dingen zusammengestellt, die ich von den meisten Fehlerberichten erwarte
1. Seien Sie kurz und bündig (aber seien Sie kein Idiot)
Idealerweise wünschen wir uns Aufzählungspunkte statt langer Sätze, damit ein Entwickler das Problem so schnell wie möglich finden kann, obwohl uns das keine Entschuldigung gibt, kurz angebunden zu sein. Es ist am besten, das Problem so genau und mit so wenig Hindernissen wie möglich zu beschreiben. Wenn es jemanden gibt, der diese spezielle Funktion entwickelt hat und deren Einzelheiten kennt, sollten Sie sie vielleicht zuerst ihm zuweisen. Aber geben Sie ihm nicht die gesamte Schuld.
2. Stellen Sie sicher, dass Sie Screenshots und/oder GIFs hinzufügen
Besonders bei Animations- und komplexen Interaktionsfehlern sind animierte GIFs fast unerlässlich, um die Eigenheiten des Fehlers hervorzuheben. Für die meisten Fälle hilft jedoch ein einfacher Screenshot, um die Ansicht oder Vorlage zu finden, in der der Fehler auftritt.
Tools zum Erfassen animierter GIFs
(Screenshot / GIF / Video) + Cloud-Speicher-Tools
Und vergessen Sie nicht, dass Sie in GitHub Issues einfach Screenshots per Drag & Drop ziehen können

3. Identifizieren Sie die Browserversion
Es ist nicht sehr hilfreich, wenn Sie einfach nur den Namen des Browsers wie „Chrome“ oder „IE“ angeben. Es ist viel besser, wenn Sie eine bestimmte Browserversion wie „Chrome 42“ oder „IE8“ angeben. Wenn Sie jedoch auch herausfinden können, ob der Fehler in anderen Browsern nicht vorhanden ist, ist das noch besser, z. B. „Ich habe diesen Fehler in iOS 8.3 gefunden, kann ihn aber in keinem anderen Webkit-Browser reproduzieren.“ Mit dieser Art von Information können Sie einem Entwickler viel Zeit sparen und er kann schneller erkennen, was schief geht.
Wenn Sie sicherstellen möchten, dass Sie alle möglichen Informationen weitergeben, können Sie ein Tool wie Support Details verwenden, das viele Dinge erfasst und es Ihnen ermöglicht, sie per E-Mail oder PDF zu versenden (oder einfach einen Screenshot davon zu machen). Wenn Sie eine eigene Fehlerberichterstattung kontrollieren, können Sie sogar versteckte Felder mit diesen Informationen erfassen und vorab ausfüllen, sodass Sie diese ohne Aufwand vom Melder erhalten.
4. Vermerken Sie, auf welcher Vorlage, Ansicht oder Seite der Fehler gefunden werden kann
Wenn er auf der Seite /blog oder /contact-us liegt oder in einem bestimmten Teil wie dem Header oder Footer zu finden ist, informieren Sie den Entwickler so schnell wie möglich darüber.
Eine vollständige URL ist normalerweise sehr hilfreich.
5. Vergessen Sie nicht, das spezielle Modul oder die Klasse zu erwähnen, die das Problem verursachen könnte
Wenn Sie sich im Frontend besser auskennen und einem Entwickler eine Lösung für ein Problem anbieten möchten, müssen Sie zwei Dinge tun: Erstens müssen Sie von jedem Entwickler im Team eine „High Five“ erhalten, denn das Melden von Fehlern und gleichzeitige Mitteilen, wie man sie behebt, ist eine große Sache. Zweitens müssen Sie wahrscheinlich einen reduzierten Testfall erstellen. Dies beinhaltet das Aufteilen des Codes in kleine Teile und das schrittweise Entfernen, bis enthüllt ist, was genau passiert. Mit diesen Informationen werden Sie den Bereich des fehlerhaften Codes eingrenzen und das Leben aller ein wenig einfacher machen.
6. Prüfen Sie, ob es Konsolenfehler oder Benachrichtigungen gibt
Anstatt die Konsolenfehler zu kopieren/einzufügen, ist es wahrscheinlich am besten, einen Screenshot zu machen, wenn es Warnungen gibt. Diese sind möglicherweise nicht mit dem spezifischen Fehler, den Sie gefunden haben, verwandt, könnten aber genau das sein, was alles durcheinander bringt.
7. Überprüfen Sie doppelt, ob der Fehler bereits von jemand anderem gefunden wurde
Doppelte Fehlerberichte waren in den Projekten, an denen ich gearbeitet habe, generell kein großes Problem. Wenn es jedoch viele Probleme gibt, lohnt es sich auf jeden Fall, einen kurzen Blick auf die archivierten Fehler oder die aktuell offenen Probleme zu werfen, um zu sehen, ob Ihr Fehler dort zu finden ist.
Diese Aufgabe kann auch beinhalten, dass Sie durchsehen, welche Fehler ähnlich sind, und das Problem in der App, die Sie verwenden, kennzeichnen. Wenn der Fehler gefunden *wurde*, ist es vielleicht sinnvoll, weitere Informationen hinzuzufügen oder auf der Karte zu vermerken, wo Sie eine neue Instanz desselben Problems gefunden haben.
8. Gruppieren Sie Aufgaben in spezifische Kategorien
Ich habe es als besonders nützlich empfunden, ein Problem mit der Labels-Funktion in Trello als „blockiert“ zu markieren. Ein großes rotes Tag zeigt jedem, dass es ein weiteres Problem im Zusammenhang mit dieser Aufgabe gibt, das zuerst behoben werden muss.
Ähnlich ist es hilfreich, die Aufgaben aller in spezifische Bereiche zu unterteilen, wie z. B.
- Inhalt
- Design
- Frontend
- Integration / Backend
- Fehler
- Code-Review
- Fertig
Dies gibt uns einen Überblick über den Projektzeitplan und gibt Entwicklern die Möglichkeit, alle Fehler auf einen Blick zu sehen.
Die meisten Fehlerberichtssoftware bietet die Möglichkeit, Dinge zu klassifizieren. Tagging, Kategorisierung, Kennzeichnung, Zuweisung, was auch immer.

9. Dokumentieren Sie Ihren bestehenden Workflow für Fehleraufgaben
Wenn Sie der Meinung sind, dass Sie einen großartigen Workflow etabliert haben, sollten Sie vielleicht ein Dokument erstellen, das Ihren Prozess detailliert beschreibt. Dies ist möglicherweise nicht nur für Ihre eigene Organisation gedacht und kann anderen helfen, damit sie nicht die gleichen Fehler machen. Zwei Referenzen kommen mir in den Sinn: das Thoughtbot Playbook und Harry Roberts' Beitrag zu seinem Trello-Workflow
Zusammenfassung
Ich war schon immer der Meinung, dass eine Liste von Fehlern kein einschüchternder, überwältigender Druck sein sollte, der jeden im Team mit dem Wunsch belastet, zu kämpfen und zu streiten. Stattdessen sollte eine Fehlerliste uns inspirieren, die Ärmel hochzukrempeln und uns zu ermutigen, zu helfen, wie wir können. Wenn wir also ein wenig Zeit damit verbringen, diese winzigen Details unseres Prozesses zu klären, können wir vielleicht all diese Lasten abwerfen und weiterhin großartige Dinge für das Web bauen.
Wie sieht Ihr Fehlerüberprüfungsprozess aus? Welche Tools finden Sie nützlich? Hinterlassen Sie unten einen Kommentar und ich werde diesen Beitrag für zukünftige Referenz aktualisieren.
Vielleicht wären noch ein paar andere Dinge nützlich
Erstellen Sie eine Vorlage für Fehlerberichte, damit jeder sie befolgen kann. Dies reduziert Probleme mit fehlenden Informationen.
Fügen Sie immer die Abschnitte erwartete Ergebnisse und tatsächliche Ergebnisse hinzu.
Fügen Sie vielleicht Traces-Logs von z. B. Fiddler hinzu.
Screenshots sind gut, aber manchmal nicht genug. Erwägen Sie, Videos für einige Fehler aufzunehmen, um sie darzustellen. Das verhindert Raten, was der Melder denkt.
Vielen Dank für das Teilen Ihrer Einblicke!
Ich schätze, das Wichtigste für die Fehlerverfolgung ist ein richtig installierter Workflow. Einerseits muss es für einen QA-Agenten oder Tester super einfach sein, einen Fehlerbericht einzureichen. Andererseits benötigen Entwickler umfassende Informationen, um Fehler reproduzieren zu können.
Ich habe eine erfrischende Bewegung von ambitionierten Startups bemerkt, die sich mit dem schmerzhaft ineffizienten Prozess der Fehlerberichterstattung und Problemlösung befassen, da viele „traditionelle Fehlerverfolgungswerkzeuge“ eine schlechte Benutzererfahrung aufweisen.
Es gibt heutzutage einige großartige Tools zur Fehlerverfolgung, die den Prozess selbst wieder Spaß machen. Nehmen Sie zum Beispiel Usersnap (https://usersnap.com). Es fügt Informationen wie Bildschirmauflösung, Browserversion, installierte Plugins automatisch zu jedem Fehlerbericht hinzu.
Bezüglich 6) Konsolenrekorder: Ich empfehle dringend, sich den Konsolenrekorder von Usersnap anzusehen (https://usersnap.com/features/console-recorder). Er ist ein großartiger Produktivitätsbooster, da er automatisch clientseitige JavaScript-Fehler (oder XHR-Protokolle) zu jedem Fehlerbericht hinzufügt.
Großartig, für einen internen Fehlerbericht, bei dem jemand diese Informationen möglicherweise zur Verfügung hat; oder wenn er die Zeit, die Fähigkeiten und das Wissen hat, das Sie haben, was unter den Teammitgliedern variieren kann… Stattdessen würde ich SW-Entwickler ermutigen, so viel wie möglich zu automatisieren, d.h. welcher Browser verwendet wird, um den Fehlerbericht zu erstellen (das ist leicht abrufbar), die von Ihnen erwähnte URL ist ebenfalls ein Knüller, ebenso wie die View-Datei für den Entwickler zur Einbeziehung in die Fehlerberichterstattungstools, Anforderungsdaten usw.
Was ich damit sagen will, ist, es ist einfach für QA, oder vielleicht einen SW-Entwickler für kleinere Unternehmen, jemanden zu bitten, mehr Informationen zu geben, was sie normalerweise frustriert, egal wie nett Sie es formulieren; selbst wenn das nicht Ihre Absicht ist; besonders wenn sie einen Fehlerbericht einreichen, der Ihre internen Systeme oder Ihre Architektur nicht kennt. Sie könnten sogar versuchen, hilfreich zu sein und zu raten, was das Problem verursachen könnte, und Sie antworten einfach mit „nein“ oder „nicht mein Problem“.
Als SW-Entwickler hatte ich schon genug Zeit damit verschwendet, schlechte Fehlerberichte anzusehen, aber als Geschäftsinhaber weiß ich auch, dass manche Leute faul werden oder die Fähigkeiten / den Zugang nicht haben, alles auf die hilfreichste Weise zu berichten. Manchmal ist es, jemanden dazu zu bringen, sich an Ihren spezifischen Workflow anzupassen, Ihre Faulheit und nicht das Erlernen eines potenziell einfacheren Weges für alle Beteiligten. In diesem Sinne und mit über 12 Jahren Berufserfahrung denke ich, dass mein Vorschlag, die Fehlerberichterstattung in Ihre SW zu integrieren und so viel wie möglich zu automatisieren, eine gute Idee ist, um in diesen Situationen zu helfen.
Auch beim Lesen eines Fehlerberichts habe ich viele „schnelle Antworten“ bemerkt, bei denen Leute Dinge übersehen, wie z. B. (Oh, das ist X's Problem, sein CSS, sein Problem), obwohl es tatsächlich ein Artefakt schlechter CSS-Entscheidungen innerhalb des von X verwendeten SW sein könnte. Wenn ich aus dem Urlaub zurückkomme, werde ich absichtliche Ineffizienzen in mein Business-QA und Support einführen, denn tatsächlich, wenn Sie einen Supportprozess haben, ist er dazu da, dem Benutzer zu helfen, und es ist ein Bonus, wenn er dem Unternehmen hilft, wir alle müssen uns mehr auf den Benutzer und seine Erfahrung konzentrieren und vielleicht werden dann alle unsere Produkte die absolut besten sein!
Die Definition eines Workflows ist wichtig, aber Automatisierung war in meiner Erfahrung der Schlüssel. Egal wie sehr ich in der Vergangenheit um mehr Informationen gebeten habe, es war immer ein Kampf, die Benutzer dazu zu bringen, sie bereitzustellen. Als ich jedoch anfing, BugHerd zu verwenden, das viele Daten automatisch sammelt (einschließlich eines Screenshots), wurde es viel besser.
Das einzige verbleibende Problem, für das ich noch keine Lösung gefunden habe, sind Duplikate. Wenn das gesamte PM-Team eine Website besucht, weil uns die QA-Zeit fehlt, erhalte ich alle möglichen Duplikate, weil die Leute nicht kurz innehalten, um zu prüfen, ob jemand es bereits gemeldet hat. Ein Ansatz zur Handhabung dieses Problems ist die Zuweisung bestimmter Website-Bereiche an bestimmte Personen, aber ich hatte nicht viel Erfolg. Das ist immer noch etwas, womit ich kämpfe.
Hallo Chris,
es klingt, als bräuchtest du Hashing und eine Autovervollständigung, mit der du andere Bugs auswählen & suchen und dann zusammenführen/anhängen kannst; ich werde immer wütend, wenn jemand zwei Fehlerberichte zusammenführt & ich Informationen verliere. Eine andere Möglichkeit, dies zu tun, besteht darin, Bezeichner als verknüpfte Klasse zu Fehlern zu haben (nicht Eltern-Kind), sodass Sie anstatt einen Fehler zu beheben, die identifizierten Aktionspunkte beheben und durch die Zuweisung der Aktionspunkte zu den Fehlern diese durch Stellvertretung aktualisiert werden, so etwas wie ein Many-to-Many.
Zu den Screenshots, das ist interessant, ehrlich gesagt haben wir Screenshots in Betracht gezogen, aber nichts schien für einen ausreichend breiten Anwendungsfall geeignet zu sein. Haben Sie den Canvas-Weg oder den Browser-Erweiterungs-Weg gewählt?
Ich würde mich gerne mal mit Ihnen darüber unterhalten. Sie finden mich auf Twitter unter @LewisCowles1, und im Gegensatz zu Ihrer Lösung ist unsere Fehlerberichterstattung intern und nicht zum Wiederverkauf bestimmt, daher bezweifle ich, dass es Interessenkonflikte gibt.
Und es gibt auch FogBugz, von den Leuten, die Trello machen.
Nur zur Information.
Ich wünschte, es wäre so einfach. Wenn man eine Gruppe von Kreativen und Entwicklern hat, denen gesagt wurde, dass sie nichts falsch machen können, und man auf etwas hinweist, das sie falsch gemacht haben… nun, sagen wir einfach, es werden unangenehme Worte in Ihre Richtung fliegen. Selbst wenn Sie einen Fehler Schritt für Schritt dokumentieren, werden sie sich Ihnen immer noch mit Händen und Füßen widersetzen.
Vielen Dank für diese Vorschläge, ich halte sie für sehr wertvoll. Allerdings sehe ich ein kleines Problem bei Ihrer Empfehlung von „Tools zum Erfassen animierter GIFs“: Diese sind nur für Windows oder Mac OS X verfügbar. Gibt es ähnliche Tools für bessere Betriebssysteme? :P
Frag und du wirst empfangen…
http://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast
Sollte für jede Debian-basierte Distribution gelten und bietet eine Auswahl an Möglichkeiten…
Lewis, danke für den Link. :)
Ich hoffe wirklich, dass diese Ressourcen (besonders Silentcast, das am besten aussieht) in den Beitrag integriert werden.