Wenn Tester Mobile Apps Entwickeln


SwissQ

Entwickler entwickeln, Tester testen und Endbenutzer . . . benutzen Apps. Die Welt kann einfach und klar sein. Manchmal ist sie aber auch verdreht. z.B. wenn Tester selbst das Eclipse starten und Apps entwickeln. In diesem Blogbeitrag wird ein Erfahrungsbericht dargestellt: Wenn Tester entwickeln.

Herausforderung Gerätevielfalt

Mobile Apps, insbesondere, wenn sie für Android und iOS entwickelt werden, müssen auf einer Vielzahl an Geräten und Betriebsystemversionen laufen. Dies führt zu viel Arbeit im Testen, bedarf aber auch sorgfältiger Programmierung. Im Projektalltag höre ich als Testmanager häufig von der Entwicklung, dass etwas „nicht geht“ oder „ein bekannter Bug auf Gerät XXX“ sei. In praktisch allen Fällen ist dies aber nur eine Ausrede der Entwickler. Darunter liegt eine komplett andere Denkweise zwischen Testern und Entwicklern. Da wir in der Informatik letztlich mit 0en und 1en arbeiten lassen sich die wiedersprüchlichen Meinungen jedoch mit Fakten beweisen. Immer. Nicht immer ist der Aufwand gerechtfertigt, aber möglich ist es immer.

MG_1587-320x400

Moderne Apps laufen heute häufig auf einer Vielzahl an Geräten

Entwickler denken positiv

Als Entwickler denkt man positiv. Jetzt möchte ich nicht behaupten, dass Entwickler „bessere Menschen“ wären, oder freundlicher, optimistischer, aber, ein ganz wenig ist schon dran. Tester mit langer Berufserfahrung neigen ein wenig dazu, ständig das berühmte Haar in jeder Suppe zu suchen. Hat der Entwickler also die positive Grundeinstellung, dass eine Funktion funktionieren wird und er sie „richtig“ umgesetzt hat, so denkt der Tester immer zuerst: „das funktioniert doch eh noch nicht richtig!“. Und entsprechend prüft man eine Funktion anders.

Wenn der Entwickler dann noch sieht, dass eine Funktion auf seinem Gerät korrekt funktioniert, dann ist für ihn bewiesen, dass er es richtig gemacht hat. Funktioniert es auf Gerät X dann nicht, so ist es die Schuld von dem Gerät. Ein Tester hingegen denkt „nur weil es auf Gerät A funktioniert, beweist das nicht, dass es auch auf Gerät B funktioniert“.

Tester denken konstruktiv destruktiv

Als Tester sind wir sehr vertraut mit dem Phänomen, dass eine Funktion auf verschiedenen Systemen/Geräten unterschiedlich gut funktionieren kann. Und das da in der Regel ein Fehler in der Programmierung, der Konfiguration oder den Daten zugrunde liegt. Entsprechend sind wir sehr gut darin, den Unterschied aufzuspüren, und aufzuzeigen, dass der Fehler reproduzierbar ist und eine behebbare Ursache hat. Im mobilen Umfeld führen wir routiniert Tests auf verschiedenen Geräten oder OS-Versionen durch und können schnell aufzeigen, bzw. haben idealerweise auch einen entsprechenden Erfahrungsschatz, dass der angebliche Bug im Gerät XXX in Wirklichkeit ein Nullpointer ist, der auf verschiedenen Geräten auftaucht. Langjährige Erfahrung ist hier natürlich von Vorteil. Wenn man die besonderen Eigenheiten bestimmter OS-Versionen kennt, dann kann man hier sehr gezielt und kostengünstig vorgehen.

Wenn Tester Apps entwickeln

Wenn nun ein technisch versierter Tester eine Android App entwickelt, dann denkt er von Beginn an anders.

MG_1505-1024x683

Mobile App Tester mit mehreren Geräten parallel am Arbeiten

Er wird seine App routiniert auf verschiedenen Geräten testen und wenn es zu einem Problem kommt, wird er sich nicht dagegen wehren, dass es ein Fehler auf seiner Seite ist. Auch ist es für ihn selbstverständlich, dass es viele Fehler bestimmter Gattungen gibt. Nullpointer z.B. sind unser täglich Brot. Als Entwickler kann man hier sehr defensiv programmieren und aktiv auf Nullpointer prüfen und diese behandeln – oder halt nicht. Das benötigt ein wenig mehr Aufwand, ist aber deutlich billiger, als das Debuggen auf der Suche nach von Testern gemeldeten Fehlern. Umgekehrt kann ein zu sorgfältiges, vorsichtiges Vorgehen natürlich auch dazu führen, dass der Fortschritt leidet. Hier braucht es ein gewisses Mass an Fingerspitzengefühl.

Einbindung der Endanwender muss früh und häufig erfolgen

Als Tester sind wir häufig die Ersten (und manchmal Einzigen), die entstehende Softwaresysteme intensiv nutzen. Wir nehmen regelmässig die Rolle des künftigen Users ein. Entsprechend fordern wir aktiv, dass echte Endanwender regelmässig und möglichst früh in Reviewssitzungen eingebunden werden. Entwickler hingegen sind häufig sehr protective. Sie weigern sich, ihre noch nicht fertige Software jemandem zu zeigen – um dann zu erleben, dass sie am Ende das falsche korrekt entwickelt haben.

DSC00155-1024x545

Moderierte Workshops helfen wirklichen Mehrwert zu schaffen

Sind Tester die besseren Entwickler?

Offensichtlich nicht. Wenn ein Tester zum Entwickler wird, dann wird er früher oder später die gleichen Denkweisen annehmen, die ein Entwickler hat. Arbeitet er nur teilzeit als Entwickler, so wird er nicht die gleichen Fähigkeiten und Erfahrungen mitbringen, wie ein erfahrener Entwickler. Spezialisierung hat in Jobs mit einem hohen Skillset auf jeden Fall seine Berechtigung!

Andererseits ist es auch wichtig, nicht zu engstirnig in Muster zu verfallen und eine gewisse Flexibilität aufrecht zu erhalten. Gemischte Teams vereinen idealerweise das Beste aus beiden Welten. Wenn Entwickler und Embedded Tester es schaffen, konstruktiv zusammen zu arbeiten, dann entstehen häufig sehr robuste Systeme, die dem Endanwender einen hohen Mehrwert bieten…

Klettern-Grimsel-20140622-096-1024x683

Teamwork statt Einzelkämpfer führen zum Ziel

Weitere Blog lesen

0 thoughts on “Wenn Tester Mobile Apps Entwickeln”


Schreibe einen Kommentar