Im Artikel „Warum du keine Angst vor dem App Review haben musst“ bin ich ja eingegangen wie du eine App überhaupt an den Kunden bringst. Du lädst die fertig gebaute App auf eine Verwaltungsplattform von Google für den PlayStore und auf AppStoreConnect für den Apple AppStore hoch, trägst die Beschreibungstexte und -bilder ein und gibst die App durch den Review für den Go-Live.
Jetzt willst du die App aber nicht immer direkt an die Kunden raus geben, sondern möchtest sie auch mal an ausgewählten Kunden testen. Und zwar bevor die App öffentlich erhältlich ist.
Aber wie können die Kunden die App installieren? Wie bekommen sie die App zum Testen? Beziehungsweise auch: wie bekommst du selber denn die App zum testen, damit du siehst was der Entwickler so schafft?
Mal wieder: auf Android ist alles einfacher
Mit Android hat man einige Freiheiten. Sowohl bei den Funktionen, die eine App ausführen darf als auch bei der Verteilung und Installation von Apps. Wie im Artikel „Warum du keine Angst vor dem App Review haben musst“ angerissen legt Apple auch einen starken Fokus darauf, dass Benutzer möglichst nur über den AppStore Apps beziehen können. Es darf keine anderen App Store Apps geben. Auf Android ist das anders und dementsprechend könnte man hier Apps einfach per E-Mail an die Tester schicken.
Warum das bei Apple schwieriger ist hat mit einem sehr technisch komplexen Thema zu tun, das auch für Nutzersicherheit relevant ist. Um eine App auf einem iOS-Gerät installieren zu können muss es auf eine bestimmte Art digital signiert sein. D.h. das Handy will bei der Installation sicher gehen, dass die App von einer vertrauenswürdigen Quelle kommt und fälschungssicher „unterschrieben“ wurde. Das sorgt auch dafür, dass es unter iOS z.B. keine gefakten Apps gibt. Trotzdem verursacht es einige Schwierigkeiten, sodass viele Entwickler sich auch nicht gerne mit dem Thema auseinandersetzen und es daher auch nicht verstehen. Die technischen Details würden den Rahmen dieses Artikels sprengen, ich kann jedoch erklären welche Wege es gibt um auch iOS-Apps zu testen.
Testen im kleinsten Kreis
Sind alle Tester bekannt und idealerweise eng an’s Entwicklerteam angeschlossen, so lohnt es sich diese Variante zu nutzen. Der Entwickler braucht hierfür die sogenannten UDIDs („Unique Device Identifier“, also eindeutige Geräte-IDs) aller Geräte mit denen die App getestet werden soll. Das heißt, dass alle Tester die nervige Aufgabe haben ein Mal diese ID herauszufinden und dem Entwickler zukommen zu lassen. Diese UDIDs müssen danach in Apples Entwicklerportal eingetragen werden, damit die App in der digitalen Signatur miteinbezieht welche Geräte die App überhaupt installieren dürfen. Wird man so eine App auf einem anderen und nicht vermerkten Gerät installieren wollen, so wird es einfach eine Fehlermeldung ausspucken. Die Liste mit UDIDs ist auch auf maximal 100 Einträge beschränkt, weswegen wir mit diesem Vorgehen größere Testerkreise direkt ausschließen können. Der Vorteil ist, dass eine App sofort installiert werden kann. Der Nachteil wie gesagt, dass man jeden einzelnen Tester nach seiner Geräte-ID fragen muss.
Die Apps können dann über Beta-Test-Plattformen wie AppCenter von Microsoft oder Firebase von Google verteilt werden. Wird eine neue Version hochgeladen, so bekommen die angemeldeten Tester eine E-Mail und können sich dann die Version herunterladen. So können übrigens auch Android-Apps an deine Tester verteilt werden, ohne, dass du alles manuell per E-Mails machen musst.
Testen im größeren Kreis
Kommt die erste Variante nicht infrage, weil du die Kunden nicht mit technischen Details wie die UDID nerven und ihnen das einfachste Erlebnis bieten willst, so kommt kein Weg um TestFlight vorbei. TestFlight ist ein Tool von Apple mit dem du die App an Tester verteilen kannst. Der Haken ist, dass du nur Apps testen lassen kannst, wenn sie den App Review von Apple bestanden haben. Das heißt eine App kann nicht sofort an deine Tester geschickt werden, sondern du musst wieder mit 1-2 Tagen rechnen bis die App durch den Review ist. Haben deine Tester die App „TestFlight“ installiert, so bekommen sie dann sogar Push-Nachrichten, wenn eine neue Version deiner App zum Testen verfügbar ist. Das heißt: der Nachteil dieser Variante ist, dass die App durch den Review muss und somit 1-2 Tage Wartezeit verbunden sind. Der Vorteil ist, dass deine Tester nur die TestFlight App installieren und auf einen Link von dir klicken müssen. Kein manuelles herausfinden der UDID, weniger Schwierigkeiten mit Zertifikaten und Codesignierung usw. Ebenso können deine Tester direkt via TestFlight Feedback an dich senden.
Zusammenfassung
Unter’m Strich kann man also wieder sagen: Testen ist auf Android leichter zu lösen als auf iOS. Du musst dich entscheiden, on du im kleinen Kreis testen willst und ob deine Tester technisch versiert genug sind um dir die Informationen (Geräte UDIDs) zuschicken zu können, die du brauchst. Ein guter Entwickler wird dich an dieser Stelle auch beraten was für den aktuellen Zeitpunkt die bessere Wahl ist. Ändern kann man das Vorgehen natürlich zu jeder späteren Zeit immernoch.
Podcast Folge zum hören
Diesen Artikel kannst du auch über meinen Podcast anhören. Falls dir mein Podcast gefällt kannst du ihn natürlich auf jeder Podcast-App finden und abonnieren, damit du nie eine Folge verpasst.