Die App, die man sich im App Store herunterladen kann, ist das fertige Produkt. Auf dem Weg dorthin durchläuft sie aber einige Stadien, von denen man nichts mitbekommt. Unter andere ist die Qualitätssicherung ein langer Prozess – den man nicht auf den Nutzer übertragen sollte.
Der Nutzer erwartet von einer App, dass sie funktioniert. Wenn sie nicht tut, was in der Beschreibung versprochen wurde, gibt es schlechte Bewertungen. Auch Abstürze sind ärgerlich. Deshalb ist eine Qualitätssicherung bei der App-Entwicklung, wie auch bei jedem anderen Produkt unabdingbar.
Was wird bei der Qualitätssicherung gemacht?
Die Qualitätssicherung soll sicherstellen, dass die App zuverlässig funktioniert und alle Eigenschaften aufweist, die versprochen wurden. Die Qualitätssicherung ist ein ständig ablaufender Prozess, den zum Teil die Entwickler während ihrer internen Tests selbst machen. Der größte Teil geschieht aber, wenn die Entwicklung an sich fertig ist, im Rahmen eines Beta-Tests. Dies ist traditionell der letzte Schritt auf dem Weg zum App Store. Das Ziel ist es, die App auf möglichst vielen unterschiedlichen Geräten ausgiebig zu testen. Alle Funktionen müssen begutachtet und ausprobiert werden, damit man Fehler jedweder Art findet und beheben kann.
Bad Practice: Auslagerung auf den Kunden
„Bananenware: Reift beim Kunden“ – damit werden Produkte bezeichnet, wo sich der Entwickler eine lange Beta-Phase gespart hat. Die App kommt dann mit vielen Fehlern in den App Store und es werden im Nachgang diejenigen Fehler behoben, die der Anwender hat. Das wird im Wesentlichen nicht gerne gesehen, da es nicht unbedingt zielführend ist. Die App kann zwar schneller veröffentlicht werden, wenn sie aber aufgrund von Fehlern häufig abstürzt, ist sie nicht besonders nützlich. Das Vertrauen schwindet und die Marke, die die App aufbauen oder stärken will, erleidet Schäden. Deshalb sollte es eigentlich im Interesse der Anwender und des Entwicklers sein, eine möglichst fehlerfreie App zu veröffentlichen.
Entwickler mit Tunnelblick
Wichtig ist, dass die Qualitätssicherung von unbefangenen Testern durchgeführt wird. Der Entwickler, der sich schon seit geraumer Zeit mit dem Quellcode und den verschiedenen Entwicklungsstationen beschäftigt, hat kein Auge mehr für Details – solange die App funktioniert, fallen ihm dann kleinere Design-Schwächen beispielsweise nicht mehr auf. Ein Außenstehender würde hingegen sofort merken, wenn Grafiken nicht zusammenpassen. Auch hat jeder Anwender eine andere Vorgehensweise, wenn es darum geht, die App zu benutzen. Ein Bug tritt manchmal nur unter verzwickten Bedingungen auf, sodass es schwierig wird, unter normalen Umständen einen Absturz zu provozieren. Was ein externer Tester macht, ist nicht berechenbar und deshalb enorm wertvoll für die Stabilität der App.
Arbeit am Code
Auch am Quellcode kann man die Qualität einer App feststellen. Unternehmen wie die Lutz-IT GmbH bieten Consulting-Dienstleistungen an, die unter anderem am Quellcode nach Fehlern suchen. Hier werden offensichtliche Probleme sichtbar und können dann schneller behoben werden. Dies geschieht einerseits mit den geschulten Augen eines externen Programmierers, der mit der App vorher nichts zu tun hatte, andererseits mit Test-Units. Dabei übergibt man einem Debugger den Code und einen Test-Case sowie das gewünschte Ergebnis. Der Debugger lässt den Algorithmus arbeiten und findet dann automatisch heraus, ob er korrekt arbeitet. Dies nennt sich Testautomatisierung und ist vor allem dann nützlich, wenn man komplexe Algorithmen zu testen hat.