Unser „Mr. Mobile“, IT-Consultant Daniel Martin, hat die rasante Entwicklung von Micro Focus‘ Werkzeug zum Testen mobiler Anwendungen seit 2016 nachvollzogen und stellt in diesem Artikel die wesentlichsten Verbesserungen und neuen Features vor.
Mit Mobile Center (MC) beschäftige ich mich, seitdem ich 2016 das Trainee-Programm abgeschlossen habe. Damals war die Version 2.00 aktuell und eine der wichtigsten Neuerungen war, dass die Amazon Device Farm eingebunden werden konnte. Ziel ist es, in diesem Artikel Mobile Center ohne Effekte und Anpreisung mit persönlichen Eindrücken zu beleuchten. Beginnen wir mit dem historischen Rückblick bezüglich der wichtigsten Funktionen von Mobile Center.
Zum Start nur Record & Replay
Im September 2015 wurde MC in der Version 1.50 veröffentlicht und beinhaltete nur die Basis-Funktion, auf die sich Micro Focus noch heute stützt – ein GUI-Test mit Record & Replay auf einem mobilen Endgerät. Zu dieser Zeit wurde das Tool noch unter der Fahne von Hewlett Packard Enterprise entwickelt und schon mit „Enterprise Readiness“ beworben, was für den damaligen Stand wahrscheinlich auch zutraf. Das Tool war darauf getrimmt, mit dem hauseigenen Programm „Unified Functional Testing (UFT)“ zu arbeiten. UFT wird hauptsächlich für GUI-Tests genutzt, um beispielweise Funktionen in Web-Applikationen zu testen. Um den Anwendern von UFT den Einstieg so einfach wie möglich zu gestalten, entwickelte HPE ein „Remote Access Window“. In diesem Fenster wurde das Display des ausgewählten Smartphones gespiegelt. Somit konnte via Mausklick im Remote-Fenster ein Fingertipp auf dem Smartphone simuliert werden. Die restlichen Funktionen waren eher auf Management-Ebene ausgerichtet, welche aber noch nicht nennenswert waren, da der Umfang eher gering war.
Die Folgeversion MC 2.00 wurde im Juni 2016 veröffentlicht. Zu diesem Zeitpunkt erkannte man bereits, dass es für Unternehmen sehr kostspielig werden kann, einen eigenen „Geräte-Zoo“ anzulegen. Mit der Amazon Device Farm, welche via Amazon Web Services bereitgestellt wird, hatte man nun die Möglichkeit, angemietete Geräte in das Device Lab (die Geräte-Übersicht von MC) mit einzubinden. Damit ist MC (je nach Lizenz) in der Lage, Tests auf vielen verschiedenen Smartphone-Modellen auszuführen, was durch die weite Verbreitung von Android auf unterschiedlicher Hardware unablässig ist. Was ebenfalls zu meinen persönlichen Highlights bei diesem Version-Release zählt, ist die „Network Virtualization“-Funktion. Diese simuliert die Übertragungsgeschwindigkeit des Smartphones über WLAN und kann zwischen dem Endgerät und dem Backend geschaltet werden. Dies ist sinnvoll, um beispielsweise die Stabilität der App oder Website bei schlechter Daten-Verbindung zu testen.
Die Foto- und Video-Simulation ist wohl eine der wichtigsten Funktionen für das Gesundheits- und Finanzwesen. Mit dieser Funktion konnte das manuelle Scannen von Überweisungen oder Fotografieren von QR-Codes automatisiert werden.
Im November 2017 kam die LongPressButton-Funktion hinzu, welche einen langen „Tastendruck“ auf den Home-Button simuliert. Diese war auf die Verwendung in der schlankeren UFT-Edition Lean Functional Testing (LeanFT) bestimmt. Sie hat für mich deswegen eine nennenswerte Berechtigung, da ich es wichtig finde zu prüfen, wie sich eine App verhält, wenn sie in den Hintergrund bzw. in den Zwischenspeicher geschoben wird. Für Banking-Apps wäre vielleicht eine neue Authentifizierung notwendig oder läuft die Spiele-App in einen Fehler, wenn sie „eingefroren“ wurde? Mobile Center wurde so Stück für Stück erweitert und auf die aktuellen Betriebssysteme der mobilen Endgeräte angepasst.
Fingerprint und FaceID halten Einzug
Die Versionen 2.60 und 2.70 fasse ich mit der 2.80 zusammen, da in der Entwicklung bis dahin, nicht einmal ein Jahr vergangen ist – was ich ebenfalls sehr positiv empfinde. Dazu hat die profi.com AG ein Webinar aufgezeichnet, welches die essenziellen Funktionen wie „Cross-Device Testing“, Workspaces und Multi-Tenant-Fähigkeit vorstellt. Das Thema Authentifizierung möchte ich gerne etwas näher Beleuchten: 2018 war das Jahr der Fingerprint- und FaceID-Authentifizierung. Also lag es nahe, dass auch hier eine Simulation geliefert werden musste, um automatisierte Tests am Laufen zu halten oder zu erweitern. Zwei weitere wichtige Neuerungen waren „Workspaces“ (Arbeitsbereiche) und der Signing Service, den ich als besonders nützlich empfinde. Mit der Einführung der Arbeitsbereiche wurde die Möglichkeit geschaffen, Apps und Devices in bestimmte Gruppen zu sortieren, damit das jeweilige Team nur auf den zugewiesenen Geräten arbeiten kann. Das hat den Vorteil, die durch Lizenzen limitierten Ressourcen besser einzuteilen und zeitraubende Blockaden zu vermeiden. Zum Signing Service habe ich schon einen separaten Beitrag geschrieben, daher reisse ich die Funktion im Folgenden nur kurz an. Alle iOS-Apps, welche nicht aus dem AppStore bezogen werden, benötigen eine Entwickler-Zertifizierung – auch die Mobile Center Apps. Ebenfalls müssen die Testgeräte im Entwickler-Konto bei Apple hinterlegt werden. Der Signing Service bedient sich dieser heruntergeladenen Zertifikate, injiziert diese in die benötigen Apps und verteilt die MC-Apps auf alle angeschlossenen Konnektoren sowie auf der Server-Maschine selbst. Kurz zur Erläuterung: Die Server-Instanz von MC läuft meistens auf einer virtuellen Maschine. Daher ist es schwierig Geräte direkt anzuschließen. Für diesen Fall kann auf einer physischen Maschine eine „Client-Software“ installiert werden, welche die Datenströme weiterleitet. Stellen Sie sich vor, Sie haben 10-15 Konnektoren/Standorte und müssten dort die MC-Apps manuell verteilen. Das bedeutet auch, dass Sie Zugriff auf die jeweiligen Maschinen haben müssen, eine Remote-Verbindung öffnen, den entsprechenden Ordner wo die Apps hinterlegt werden finden und die Apps dort hineinkopieren beziehungsweise ersetzen.
Kommen wir nun zu den jüngeren Versionen 3.00 bzw. 3.10.
Wie bei fast jedem Release von MC wurden die Versionen der Integrationen angehoben – wie zum Beispiel Appium 1.10.0, UFT 14.52, LoadRunner 12.62 und Silk 19.5. Micro Focus hält sich an den Integrationsfahrplan und öffnet Mobile Center für die aktuellsten Versionen von Dritt-Tools wie Eclipse. Nebenbei wurde die Reaktionszeit für das Device-Remote-Fenster reduziert, denn eine niedrigere Latenz bedeutet eine kürze Aufnahme- bzw. Abspielzeit des Testskripts.
Bei der Installation und Konfiguration der Konnektor-Instanzen wurden ebenfalls Änderungen vorgenommen. Anstatt Benutzernamen und Passwort einzugeben, wird nun ein „Access Token“ verwendet. Ein Vorteil könnte sein, dass somit eine paketierte Installation möglich ist, ohne die Registrierungsdaten zu hinterlegen. Allerdings lässt sich darüber streiten ob es effektiver ist, ein Token zu genieren oder bei der Installation mit Administrator-Rechten die entsprechenden Credentials einzugeben.
Eines der für mich wichtigsten neuen Features ist der „Dev Access“. Hier werden den Entwicklern mobile Endgeräte direkt angeboten. Die meisten Entwickler möchten in ihrer bevorzugten Entwicklungsumgebung bleiben und zögern, neue oder zusätzliche Werkzeuge einzusetzen. Mobile Center bietet jetzt den direkten Tunnel von der IDE zum entsprechenden Testgerät an. Somit brauchen Entwickler keine eigenen Endgeräte oder Programme zu nutzen. Dies spart Zeit und Ressourcen. Unter diesem Aspekt wurde auch an einer Integration der Service Virtualisierung gearbeitet. Nun kann auch eine Simulation von Bluetooth, NFC und REST sichergestellt werden, welche vorläufig nur mit LeanFT nutzbar ist.
Das Schleifen und Feilen geht mit 3.20 weiter
In dieser Version wurden neue Funktionen implementiert, bestehende angepasst oder korrigiert. Auch das bereits beschriebene „Signing Service“-Tool wurde einer Überarbeitung unterzogen. Zugegebenermaßen war der Signierungsdienst zuvor etwas kniffelig zu konfigurieren. Dies wurde nun mit einem „Single Installation“ Paket bereinigt, bei dem alle benötigten Informationen wie z.B. Zertifikate bei der Installation angegeben werden. Wünschenswert wäre es eigentlich, den Service ebenfalls mit Upgrades zu versorgen, anstatt die alte Version komplett zu löschen und die aktuellen Tool-Files neu zu konfigurieren bzw. anzupassen. Ganz wichtig fände ich es, dass bei der Installation der Port mit angegeben werden muss. Ändert man diesen nicht und belässt ebenfalls die Standard-Einstellungen für den Konnektor (nicht SSL), dann kämpfen beide Dienste um den gleichen Port.
Kommen wir zu einer „Nice-to-have“-Neuerung: „Change device name“ ermöglicht es nun, die Änderung des Geräte-Namens für Nicht-Admin-User zu sperren, so dass die speziellen Bezeichnungen des Verwalters auch Beständigkeit haben. Interessant finde ich darüber hinaus, dass Mobile Center nun mit Apps interagieren kann, welche sich bereits auf dem Zielgerät befinden. Die hauptsächliche Interaktion sind Starten und Beenden der Programme – kein durchsuchen mehr des Home-Screens, dies spart ein paar Zeilen Code und reduziert ebenfalls die Laufzeit des Testskriptes.
Mein Fazit
Über die Jahre beobachtet hat sich Mobile Center weiterhin den Stempel „Enterprise Readiness“ verdient. Die Geräte-, Nutzer- und App-Verwaltung wurde soweit entwickelt, um Teams zu separieren, den „Geräte-Zoo“ zu managen und Apps automatisiert zu signieren. Die Media-, Authentifizierungs- und Verbindungssimulationen decken nahezu alle Bedürfnisse bezüglich Mobile Testing ab. Über den Marketplace von Micro Focus bekommt man ziemlich schnell Upgrades, welche sich auf iOS- oder Android-Betriebssysteme beziehen. Die Zyklen der Releases und Umsetzung von neuen Funktionen sind bedarfsgerecht. Mir macht es Spaß, mich mit Mobile Center auseinanderzusetzen und ich bin gespannt, welche Funktionen demnächst noch entwickelt werden.