Warum das App Testen so wichtig ist – am Beispiel der ToxFox-App vom BUND
Ein gern vernachlässigter Aspekt der App-Entwicklung (und vielleicht generell der Software-Entwicklung) ist das Testen vor der Veröffentlichung. Damit meinen wir nicht, dass unsere Kunden mal kurz die App durchsehen, ob alles da ist, was sie bestellt haben, sondern wir sprechen tatsächlich von einem gründlichen und iterativen Prozess. Diesem Prozess widmet sich im Hause Ackee eine ganze Abteilung bestehend aus sieben unbestechlichen, Adler-äugigen Test-Experten. Der Quality Assurance Manager erklärt am Beispiel der ToxFox-App vom BUND, warum das Testen bei der App-Entwicklung ziemlich wichtig ist.
Üblicherweise nimmt das App Testen (und anschließende Verbessern) einen Anteil von 10 - 20 Prozent am gesamten Entwicklungsprozess ein. Unserer Erfahrung nach entscheiden diese 20 Prozent meist darüber, ob die App ein Erfolg bei der Zielgruppe oder ob sie gleich wieder gelöscht wird.
Dieser Tatsache war sich auch der BUND (Bund für Umwelt und Naturschutz) bewusst, als wir anfingen ihre runderneuerte ToxFox-App zu testen, mit deren Hilfe Verbraucher gefährliche oder bedenkliche Stoffe in Produkten identifizieren können. Die App selbst wurde nicht von Ackee entwickelt. “Bei der ersten Version des ToxFox haben wir aus Budgetgründen auf umfangreicheres App Testen verzichtet. Das hat sich im Nachhinein als Fehler herausgestellt, den wir bei der zweiten Version nicht wiederholen wollten. Da kam uns das Angebot von Ackee sehr recht, die App für uns kostenlos zu testen”, erklärt Ulrike Kallee, Abteilungsleiterin Stoffe und Technologien, Bund für Umwelt und Naturschutz Deutschland (BUND).
App Testen aus der Perspektive eines Testers
Bei Ackee entwickeln wir überwiegend agil. Dabei wird die App-Entwicklung in einzelne Module zerlegt, so genannte Sprints. Vor dem Ende eines jeden Sprints testen wir die komplette App. Die gefundenen Fehler schicken wir als übersichtliches Bug Tracking System an die Entwickler. Diese korrigieren die Fehler – und wir testen erneut.
Auf diese Art verbessern wir die App kontinuierlich und konsequent. Dabei geht es nicht nur um Bugs an sich, sondern auch um mangelnde User Experience. Das ist auch das erste, was wir testen. Wir laden uns die aktuelle App-Version auf unsere Geräte und schauen einfach mal, ob wir mit der App klar kommen, ob wir gleich alles finden, was wir suchen oder ob wir schon am Login verzweifeln.
Wenn beim Entwickeln die Basis der App einmal steht, werden in weiteren Sprints neue Funktionen hinzugefügt und die App wird als Ganzes jedes mal wieder getestet. Das hört sich umständlich an, lohnt sich aber, weil man somit auf eine soliden, fehlerfreien und zielgruppengerechten Fundament aufbaut.
Auf welcher Basis wir mobile Apps testen
Zunächst testen wir die App aus der Sicht eines ganz normalen Users. Wir laden sie auf unsere Geräte und benutzen sie. Danach beziehen wir die Dokumentation und das Konzept inkl. Backend für die App mit ein – und testen auch, ob die App die an sie gestellten Anforderungen erfüllt.
Im Fall der ToxFox App haben wir sämtliche Bugs via Github Issues erfasst und kommuniziert. Das geht so:
- Wir finden einen Fehler und beschreiben ihn.
- Wir erklären die Schritte, um den Bug zu reproduzieren.
- Wir beschreiben, wie sich die App optimalerweise, also ohne Bug, verhalten sollte.
- Wir teilen mit, bei welchem Gerät, welchem Betriebssystem und welcher App-Version der Bug aufgetreten ist.
- Wir fügen Screenshots vom Bug hinzu.
Die meisten Bugs, die wir in der ToxFox-App gefunden haben, waren kleinere Design-Fehler. Z. B., dass der Text über den Rahmen hinausragt bei manchen Display-Größen. Wir haben aber auch ein paar funktionale Bugs entdeckt. Beispielsweise fror die Testversion der App ein und crashte bei Überschreitung einer bestimmten Anzahl an Suchanfragen. Das Soll-Verhalten ist, dass die ToxFox-App den User benachrichtigt, dass er die maximale Anzahl an Suchanfragen gestellt hat und keine weiteren möglich sind. Die App sollte weder einfrieren noch crashen, wenn der User nach weiteren Produkten sucht.
Ein anderer funktionaler und ziemlich gut getarnter Bug war folgender: Der User scannt ein Produkt und schickt eine Anfrage. Die App tut so, als würde die Anfrage weitergeleitet. In Wirklichkeit passierte aber gar nichts, weil der User seine Email Adresse im Profil nicht eingetragen bzw. nicht bestätigt hat. Der User erfährt nicht, dass seine Anfrage nicht verarbeitet wurde und auch nicht, dass er seine E-Mail-Adresse eintragen bzw. bestätigen muss.
Die Zusammenarbeit mit dem BUND beim Testen der ToxFox-App verlief konstruktiv. Wir haben uns in wöchentlichen Online Status Meetings mit den Entwicklern abgesprochen. Dabei haben wir den Status von alten und ggf. inzwischen korrigierten Bugs geklärt und die neuen vorgestellt. Wenn wir uns einig waren, dass etwas ein Bug ist, haben wir ihn in Github eingetragen. Die Entwickler haben die Bugs dann nach und nach bereinigt. Auch der BUND ist glücklich über die Zusammenarbeit: “Das App Testen hat sich für uns wirklich gelohnt. Ackee testet sehr systematisch und auch die Fehlerbesprechung war sehr konstruktiv und hilfreich für uns. Dadurch hat die App deutlich an Qualität gewonnen”, erklärt Kallee.
Die Test-Tradition der Überzeugungstäter
Wir testen Apps mit Motivation und Überzeugung. Wir haben früh gelernt, dass wenn wir hier “sparen” es uns im nächsten Sprint vor die Füße fallen kann. Oder schlimmer, die App wird von Anfang an an den Bedürfnissen der Zielgruppe vorbei entwickelt und später nicht von ihr angenommen. Selbst der beste Entwickler und auch der beste App-Tester übersehen mal einen Fehler – und so manches App-Konzept muss unterwegs überdacht werden.
Deshalb haben wir bei Ackee auch die Tradition, dass sobald eine App fertig und auch durchgetestet ist, sich alle Beteiligten die App herunterladen und aus User Perspektive nutzen. Dabei treten gelegentlich vorher noch unbemerkte Bugs auf, die wir dann natürlich auch wieder beseitigen (und danach testen!).
Das allerletzte Wort haben immer die eigentlichen User. Wenn nach der Veröffentlichung auf Google Play und App Store Bewertungen mit Bugs auftreten – was vor allem bei alten Geräten mit alten Betriebssystemen vorkommen kann – dann suchen wir zusammen mit unserem Auftraggeber eine Lösung für das nächste Release und kommunizieren dabei auch mit den betroffenen Usern.