Gewährleistung der App-Stabilität durch Crash-Reporting

Gewährleistung der App-Stabilität durch Crash-Reporting

Was ist Crash Reporting?

Eine simple und lauffähige App zu entwickeln ist, dank der inzwischen hohen Qualität der Entwicklungswerkzeuge, heutzutage keine Disziplin mehr, die nur wenigen Spezialisten vorbehalten ist. Die Herausforderung der App-Entwicklung liegt klar in der langfristigen Gewährleistung von Robustheit, Zuverlässigkeit und Stabilität einer App. Zu diesem Zweck ist es von unschätzbarem Wert, auch nach dem Entwicklungsprozess und der Veröffentlichung rasch auf Probleme reagieren zu können. So ist es aufgrund der Gerätevielfalt unter Android beispielsweise beinahe unmöglich, alle gerätespezifischen Eigenheiten bereits während der Entwicklungs- bzw. der Testphase abzudecken. Deshalb entstand auch in der mobilen Welt die Anforderung, die eigenen Apps auch nach der Veröffentlichung möglichst zuverlässig und effizient auf Probleme kontrollieren zu können.

Android App-Crash aus Sicht eines Benutzers

Screenshot: Android App-Crash aus Sicht eines Benutzers

Direktes Benutzerfeedback

Eine Möglichkeit, um diese Probleme überhaupt erst wahrzunehmen, ist das direkte Feedback der Benutzer aus den verschiedensten Kanälen, wie etwa App Store Bewertungen, E-Mails oder Facebook Kommentare. Diese meist textuellen Informationen müssen oftmals erst verstanden und daraus das Verhalten, welches zu dem Problem führte, reproduziert werden. Diese Art von Crash Reporting führt aber in den meisten Fällen erst durch direkten Kontakt über mehrere ausgetauschte Nachrichten zur fehlerhaften Stelle im Quellcode der App.

Ein weiteres Problem ist natürlich auch, dass nicht jeder Benutzer, der über einen Fehler stolpert, sofort den Kontakt zum Entwickler sucht. Naheliegender ist durch die gerade entstandene negative Erfahrung eher die sofortige Deinstallation der App –  vor allem bei neuen Nutzern ist die Gefahr hoch.

Diese Umstände führen deshalb nur zu einer sehr wagen Vorstellung der Qualität der eigenen Applikation außerhalb der Räumlichkeiten des Entwicklers und machen die eigentliche Fehlersuche sehr aufwändig.

Automatisiertes Crash Reporting

Neben dem direkten Feedback der einzelnen Benutzer besteht auch die Möglichkeit etwaige Probleme und Abstürze automatisiert von der Applikation aus zu versenden. Für diese automatisierte Möglichkeit und einer sinnvollen Aufbereitung der daraus entstehenden Daten gibt es inzwischen auch im mobilen Bereich eine große Auswahl an spezialisierten Werkzeugen. Diese Crash Reporting-Werkzeuge sind im Gegensatz zu anderen Tracking-Werkzeugen direkt an den Entwickler gerichtet und fokussieren sich meist auf zwei Merkmale:

Einfache Integration

Das Crash Reporting in der eigenen App soll schnell eingerichtet sein und in weiterer Folge keinen Wartungsaufwand erfordern. In diesem Punkt unterscheiden sich die Top-Werkzeuge heutzutage kaum. Die Integration besteht meist aus dem Hinzufügen einer Bibliothek und einer Zeile im Quellcode der eigenen Applikation. Damit ist die Integration meist in zehn Minuten abgeschlossen und alle Crash Reports sind für den Entwickler zugänglich. Der Zugang zu diesen Crash Reports findet meist über eine Webseite des Werkzeugherstellers statt.

Durch ein wenig mehr Aufwand ist es des Weiteren auch möglich, eigene Zusatzinformationen entweder zu den einzelnen Crash Reports hinzuzufügen (wie z. B. den Benutzernamen) oder neben den Abstürzen auch andere Events (wie beispielsweise ein Fehlverhalten, welches aber nicht zu einem Absturz führt) manuell über dieses Werkzeug zu verfolgen.

Aufbereitung der Daten

Eine eigene Implementierung zur Benachrichtigung, beispielsweise per Mail sobald die Applikation unerwartet beendet wird, wäre mehr als überschaubar. Die eigentliche Notwendigkeit der Unterstützung von externen Entwicklungswerkzeugen entsteht in erster Linie bei der Aufbereitung der Daten. Ein wichtiger Punkt bei der Aufbereitung der Daten ist die Aggregation der Absturzmeldungen, d. h. aus den Informationen des Absturzes zu erkennen, ob dieser bereits schon einmal aufgetreten ist und gleiche Meldungen zusammenzufassen.

Zusatzinformationen zu einzelnen Crash Reports hinzuzufügen, ist der zweite wichtige Punkt bei der Aufbereitung. Die meisten Crash Reporting Werkzeuge im mobilen Bereich bieten hier in erster Linie Geräteeigenschaften wie Smartphonetyp, Hersteller, installierte Betriebssystemversion etc. Dadurch erhält der Entwickler die Möglichkeit die Fehlerquelle beispielsweise auf ein bestimmtes Gerät oder eine bestimmte Version des Betriebssystems einzuschränken.

Crashlytics Crash Details

Screenshot: Crashlytics Crash Details

Übersicht aktueller Werkzeuge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.