Die Suche nach dem Fehler

18 Oktober 2015  

Mit mehr als 30.000 Geräte/Betriebssystem Kom­bi­na­tio­nen ist Android sicher­lich ein Alb­traum für jeden QS Man­ag­er, Apple hat hier mit nur knapp 1.000 Kom­bi­na­tio­nen sicher­lich die Nase vorn aber auch hier kön­nen nicht alle Betrieb­ssys­temver­sio­nen und Endgeräte vorge­hal­ten wer­den.
Damit stellt sich sehr schnell die Frage wie Apps und andere Soft­ware effizient und kostengün­stig auf realen Devices getestet wer­den?

In diesem Ein­trag geht es Pro­jek­te die eine erhöhte Anforderung an Kosten/Nutzen haben und keine Pro­duk­te oder Kern­sys­teme die sich ständig weit­er­en­twick­eln sollen darstellen. Diese Abgren­zung ist wichtig, da Pro­duk­te und Langfristig angelegte Soft­ware kom­plett anders getestet und geprüft wer­den muss als typ­is­che Mar­ket­ing Web­sites oder Apps bei denen es sehr um schnelle Pro­duk­tion und geringe Kosten geht.

Grund­sät­zlich stellt sich im Bere­ich Qual­itätssicherung immer die Frage, was das Ziel sein soll, daher wie der Begriff Qual­ität für das Pro­jekt definiert und pri­or­isiert wird. Bere­its bei ein­er mit­tel­großen App kön­nen nicht mehr alle Funk­tio­nen in allen Vari­anten und auf allen Betrieb­ssys­temver­sio­nen und Geräten sin­nvoll Test­bar sein. The­o­retisch kön­nten Sie dies natür­lich ver­suchen aber der Kosten Nutzen Aspekt ver­bi­etet ein solch­es Vorge­hen eigentlich kom­plett ins­beson­dere da Sie die Fehler­frei­heit trotz­dem nicht beweis­bar erre­ichen wer­den.

Bere­its frühzeit­ig soll­ten Test­cas­es zu den wichtig­sten Prozessen und Funk­tio­nen geschrieben wer­den und bei jedem Release entsprechende Tests inklu­sive Test­pro­tokoll erstellt wer­den. Unsere Test­cas­es für ein klas­sis­ches App-Pro­jekt umfassen häu­fig Schritt für Schritt Anleitun­gen die es einem neuen Tester ermöglicht den kom­plet­ten Test durchzuführen und zu erfassen.

Zusät­zlich zu den definierten Test­cas­es sollte das Pro­jekt regelmäßig von neuen Nutzern (z.B. in Zusam­me­nar­beit mit Crowdtest­ing Anbi­etern) im Rah­men von Usertests unter kon­trol­liert­er Umge­bung genutzt wer­den. Hier find­en Sie zum einem schnell Usabil­i­ty Prob­leme und zum anderen auch neue Fehlver­hal­ten die dann als neuer Test­case Ein­gang in die jew­eili­gen Releasetests find­en sollte.

Eben­falls emp­fiehlt es sich Bew­er­tun­gen, Social Media Kom­mentare und son­stige Rück­mel­dun­gen jew­eils zu ver­i­fizieren und dann als Test­case für alle weit­eren Releasetests zu erfassen.

Zurück zur Aus­gangs­frage:

Wie können Apps und andere Software effizient und kostengünstig auf realen Devices getestet werden?

  1. Testcases aufsetzen

    sauber und aus­re­ichend umfan­gre­ich doku­men­tieren z.B. mit Tes­trail http://www.gurock.com/testrail/ oder www.ranorex.com

  2. Wichtige Testdevices definieren

    Die wichtig­sten Test­de­vices mit dem Kun­den klären auf Basis von beste­hen­den Kun­den­dat­en oder Annah­men auf­grund der Mark­tverteilung

  3. Testservices nutzen

    Für Devices die nicht in Hard­ware vor­liegen, nutzen wir https://appcenter.ms/ bei Web­sites nutzen wir unter anderem https://www.browserstack.com
    Kein­er der Dien­ste erset­zt die Tests auf eige­nen Devices stellen aber eine sehr gute Ergänzung da

In zukün­fti­gen Ein­trä­gen gehen wir dann etwas mehr in die Tiefe und stellen unter anderem den Umgang mit der Soft­ware, sin­nvolle Testver­fahren wie automa­tisiertes Test­ing und auch das wun­der­bare The­ma Lasttests vor