Home / Entwicklung / Qualtitätssicherung & Testing für Devices
Qualtitätssicherung & Testing für Devices

Qualtitätssicherung & Testing für Devices

Websites und Apps müssen vor dem Livegang ausgiebig getestet werden. Die Vielzahl an System- und Device-Kombinationen stellt dabei eine erhebliche Herausforderung dar. Hier geben wir Ansätze zur Lösung des Problems.

Problem und Eingrenzung

Mit mehr als 30.000 Gerä­te- und Betriebs­sys­tem-Kom­bi­na­tio­nen ist Andro­id ein Alb­traum für jeden QS-Mana­ger. Apple hat hier mit nur knapp 1.000 Kom­bi­na­tio­nen die Nase vorn, aber auch hier kön­nen nicht alle Betriebs­sys­tem­ver­sio­nen und End­ge­rä­te vor­ge­hal­ten wer­den. Damit stellt sich sehr schnell die Fra­ge: Wie kön­nen Apps und ande­re Soft­ware effi­zi­ent und kos­ten­güns­tig auf rea­len Devices getes­tet wer­den?

In die­sem Ein­trag geht es um Pro­jek­te, die eine erhöh­te Anfor­de­rung an Kosten/Nutzen haben. Es geht nicht um Pro­duk­te oder Kern­sys­te­me, die sich stän­dig wei­ter­ent­wi­ckeln sol­len. Die­se Abgren­zung ist wich­tig, da Pro­duk­te und lang­fris­tig ange­leg­te Soft­ware anders getes­tet und geprüft wer­den müs­sen als typi­sche Mar­ke­ting-Web­sites oder Apps, bei denen es um schnel­le Pro­duk­ti­on und gerin­ge Kos­ten geht.

Vorgehen

Grund­sätz­lich stellt sich im Bereich der Qua­li­täts­si­che­rung immer die Fra­ge, was das Ziel sein soll, also wie der Begriff “Qua­li­tät” für das Pro­jekt defi­niert und prio­ri­siert wird. Bereits bei einer mit­tel­gro­ßen App kön­nen nicht mehr alle Funk­tio­nen in allen Vari­an­ten und auf allen Betriebs­sys­tem­ver­sio­nen und Gerä­ten sinn­voll test­bar sein. Theo­re­tisch könn­ten Sie dies natür­lich ver­su­chen – aber der Kos­ten-Nut­zen-Aspekt ver­bie­tet ein sol­ches Vor­ge­hen eigent­lich kom­plett, ins­be­son­de­re da Sie die Feh­ler­frei­heit trotz­dem nicht beweis­bar errei­chen wer­den.

Bereits früh­zei­tig soll­ten Test­ca­ses zu den wich­tigs­ten Pro­zes­sen und Funk­tio­nen geschrie­ben wer­den und bei jedem Release ent­spre­chen­de Tests inklu­si­ve Test­pro­to­koll erstellt wer­den. Unse­re Test­ca­ses für ein klas­si­sches App-Pro­jekt umfas­sen häu­fig Schritt für Schritt Anlei­tun­gen, die es einem neu­en Tes­ter ermög­li­chen, den kom­plet­ten Test durch­zu­füh­ren und zu erfas­sen.

Zusätz­lich zu den defi­nier­ten Test­ca­ses soll­te das Pro­jekt regel­mä­ßig von neu­en Nut­zern (z.B. in Zusam­men­ar­beit mit Crowd­tes­ting-Anbie­tern) im Rah­men von User­tests unter kon­trol­lier­ter Umge­bung genutzt wer­den. Hier fin­den sich zum einen schnell Usa­bi­li­ty-Pro­ble­me und zum ande­ren auch neue Fehl­ver­hal­ten, die dann als neu­er Test­ca­se Ein­gang in die jewei­li­gen Releasetests fin­den soll­te.

Eben­falls emp­fiehlt es sich Bewer­tun­gen, Soci­al Media-Kom­men­ta­re und sons­ti­ge Rück­mel­dun­gen jeweils zu veri­fi­zie­ren und dann als Test­ca­se für alle wei­te­ren Releasetests zu erfas­sen.

Die 3 wichtigsten Punkte

Unab­hän­gig vom Pro­jekt­um­fang oder dem Web­site- bzw. App-The­ma gibt es 3 zen­tra­le Punk­te, die in jedem Fall bedacht wer­den müs­sen:

Testcases aufsetzen

Test­ca­ses müs­sen sau­ber und aus­rei­chend umfang­reich doku­men­tiert wer­den, z. B. mit Tes­trail http://www.gurock.com/testrail/ oder www.ranorex.com.

Wichtige Testdevices definieren

Die wich­tigs­ten Test­de­vices müs­sen mit dem Kun­den auf Basis von bestehen­den Kun­den­da­ten oder Annah­men auf­grund der Markt­ver­tei­lung geklärt wer­den.

Testservices nutzen

Für Devices, die nicht in Hard­ware­form vor­lie­gen, kann fol­gen­der Ser­vice genutzt wer­den: https://appcenter.ms/ . Für Web­sites nut­zen wir unter ande­rem: https://www.browserstack.com.

Ausblick

Kei­ner der Diens­te ersetzt die Tests auf eige­nen Devices, wobei die­se aber eine sehr gute Ergän­zung dar­stel­len. In zukünf­ti­gen Ein­trä­gen gehen wir dann etwas mehr in die Tie­fe und stel­len unter ande­rem den Umgang mit der Soft­ware, sinn­vol­le Test­ver­fah­ren, wie auto­ma­ti­sier­tes Tes­ting, und auch das The­ma Last­tests vor.