Das ist Jens Becker Incloud QA, Teil 1/2: Herausforderungen in Mobile

Von Jens Becker am 19.10.2015
img

Bevor wir Apps an unsere Kunden ausliefern, ist es essentiell, dass sie den gestellten Anforderungen entsprechen und ausgiebigst getestet wurden. Das kommt nicht nur dem Kunden und dessen Endkunden zugute, sondern spiegelt auch unsere Ansprüchen an uns selbst als Entwickler wider.

Doch wie können wir einen gleichbleibend hohen Qualitätsstandard sicherstellen? Auch heute noch wird sich vielerorts mit reinen Entwicklertests zufrieden gegeben: „Funktionert es auf meinem Simulator, dann funktioniert es bestimmt auch beim Kunden.“ Dieser Ansatz mag bei kleinen Desktopprogrammen ausreichen, nicht jedoch bei Enterprise Apps. Aus diesem Grund setzen wir auf eine eigene, hochqualifizierte QA-Abteilung, die jedes neue Release (auch Sprint Releases) umfassend testet.

Unsere QA verwendet eine Großzahl verschiedener Geräte mit unterschiedlichsten Versionen der gängigen mobilen Betriebssysteme. Dabei ist Android gemäß der Marktlage viel häufiger vertreten als z.B. iOS oder Windows Phone. Dies ist dem OpenSource-Gedanken hinter Android geschuldet, der Fluch und Segen zugleich ist. Android bietet Endgeräteherstellern die Möglichkeit, das System nach ihren Wünschen zu modifizieren. Dabei können nicht nur vorinstallierte Apps, sondern auch tieferliegende Funktionen des Betriebssystems angepasst werden. Das führt dazu, dass ein Bug z.B. auf einem Lenovo Tab 2 mit Android Version 4.4.2 auftritt, aber nicht auf einem Huawei MediaPad M2 mit Android Version 5. Alle theoretisch möglichen Kombinationen von Geräten und Android-Versionen vor Ort zu haben, ist daher schlichtweg unmöglich und es wäre ein unendlich teures Unterfangen, auch nur einen vertretbar großen Teil davon anzuschaffen.

Bei iOS sieht die Sache schon wesentlich überschaubarer aus. Allerdings ergibt sich ein anderes Problem: Im Rahmen von Apples Update-Politik ist es nicht möglich, eine ältere iOS-Version als die aktuelle auf einem Gerät zu installieren. Folglich müssten wir pro Minor Release (also z.B. von 8.1 auf 8.2) ein neues Gerät kaufen, was aufgrund es vergleichsweise hohen Anschaffungspreises von Apple-Geräten ebenfalls zu unverhältnismäßig hohen Kosten führen würde.

Alles in allem wäre dieser Ansatz also unwirtschaftlich und logistisch kaum zu bewältigen. Ganz zu schweigen von der zusätzlichen Bürofläche, die wir anmieten müssten, um die Geräte überhaupt lagern zu können. Wir haben uns daher dazu entschieden, nur die populärsten Geräte in den am weitesten verbreiteten Android- bzw. iOS-Versionen vorrätig zu haben, um die Marktlage bei finanziell und logistisch vertretbarem Aufwand möglichst repräsentativ abbilden zu können.

Bei der Durchführung manueller Tests gibt es zahlreiche verschiedene Aspekte, die es zu involvieren gilt. Der offensichtlichste sind neu entwickelte Features, aber auch alte Bugs (sogenannte Regressionen) müssen überprüft werden, sodass sich keine bereits bekannten Fehler erneut in der App wiederfinden. Es reicht dabei bei weitem nicht aus, sich einfach „durch die App zu klicken“ – es müssen Testpläne ausgearbeitet und absolviert werden. Wird dann ein Bug identifiziert, muss ihn der Tester auf Reproduzierbarkeit überprüfen, wodurch dem Entwickler das Beheben erleichtert wird. Dieser Vorgang ist – bei gewissenhafter Durchführung – sehr zeitaufwendig und verlangt den Testern ein enormes Maß an Konzentration und Geduld ab.

Ab einem gewissen Stadium eines Projekts nehmen Regressionstests einen sehr prominenten Teil ein. Sie sind klar definiert (da sie bereits mehrmals reproduziert wurden) und im Endeffekt nur „Klickanleitungen“. Da sie nur sehr wenig Kreativität des Testers erfordern, können sie sehr schnell frustrierend wirken. Gäbe es doch nur eine Möglichkeit, diese ungeliebten Klickanleitungen zu automatisieren…

Weiterempfehlen:
Diskutieren:
Unser kleines Geschenk:
Incloud Ping

Unser Newsletter informiert Sie alle 2 Monate über unsere Ansichten zu den relevantesten digitalen Themen.

Wir langweilen Sie nicht und liefern Ihnen mit jedem Ping einen kleinen digitalen Aha-Moment. Ihre Zeit ist wertvoll, wir werden sie nicht verschwenden. Versprochen.

Jetzt abonnieren! Spannend, gratis & jederzeit abmeldbar. Was gibt es da schon zu verlieren?