App-Testing

Kontinuierlich auf dem Prüfstand

Im Interview erklärt Hannes Lenke, General Manager EMEA bei Sauce Labs, wie Apps von der Entwicklung über das Testen in den Store gelangen und was dabei die Vorteile von automatisiertem Cloud Testing sind.

Kontinuierlich auf dem Prüfstand

Im Interview erklärt Hannes Lenke, General Manager EMEA bei Sauce Labs, was App-Entwickler beim Testen ihrer Produkte beachten sollten.

Die App-Entwicklung hat inzwischen rasante Züge angenommen – kaum ein Unternehmen, Produkt oder Service kommt noch ohne eine eigene, möglichst innovativ gestaltete Smartphone-App aus. Der Zeitdruck, der dabei auf den Entwicklern lastet, ist enorm, denn nur wer schneller ist als die Konkurrenz, kann seine Idee auch vergolden. Doch trotz allem ist es wichtig, den Nutzern von Anfang an ein fehlerfreies Programm zu liefern. Gerade kleinere Unternehmen und Start-ups können dabei von Open-Source-Frameworks profitieren, wenn sie ihre Entwicklungen testen.

Herr Lenke, Ihr Unternehmen setzt gezielt auf Open-Source-Frameworks. Worin sehen Sie den Vorteil?
Hannes Lenke:
In der heutigen Welt werden ständig neue Browser, Betriebssystemversionen und Smartphones auf den Markt gebracht und Apps müssen auf allen Devices einwandfrei funktionieren – und das am besten schon bei der ersten Nutzung. Eine weitere Herausforderung für Entwickler ist auch der hohe Zeitdruck bei der Bereitstellung von App-Releases, um schneller als die Konkurrenz am Markt verfügbar zu sein und die Aufmerksamkeit der Nutzer zu erhalten. Genau hier liegt der Vorteil von Open-Source-Frameworks: Diese werden normalerweise sehr schnell an sich ständig ändernde Plattformen angepasst. Wir glauben, dass sich Open-Source-Frameworks mehr und mehr – gerade in der agilen Software-Entwicklung  – durchsetzen werden.
 
Welche Probleme können klassischerweise in einer Open-Source-Umgebung entstehen?
Lenke:
Die grundsätzlichen Aufgabenstellungen unterscheiden sich nicht von denen in einer proprietären Umgebung, aber natürlich die Art des Supports. Bei der Nutzung von Open-Source-Frameworks ist man auf die Unterstützung durch die Community angewiesen – es gibt keinen dedizierten Ansprechpartner für schnelle Problembehandlungen. Wir versuchen, die positiven Seiten offener Open-Source-Frameworks mit denen eines professionellen Supports zu verbinden: Wir beschäftigen Test-Automation-Berater. Diese sind ausgewiesene Branchenexperten, die jahrelang als Test Automation Engineers gearbeitet haben und entsprechend umfassendes Know-how besitzen.
 
Wie sicher ist es, sensible Daten auf einer cloud-basierten Plattform zu testen?
Lenke:
Grundsätzlich ist es seit Jahrzehnten bereits „Best Practice“, das Testen von Software mit sogenannten Dummy Data durchzuführen. Das heißt, im Normalfall kommen sensible Daten nicht zum Einsatz. Natürlich ist unsere Plattform aber nach neuesten Standards abgesichert. So werden Daten z.B. nur verschlüsselt übertragen. Darüber hinaus investieren wir in unsere Infrastruktur und unsere Ressourcen, um Sicherheitsstandards gewährleisten zu können. Unser Rechenzentrum in Berlin ist ein sogenanntes Level-3-Rechenzentrum mit redundanten Komponenten, doppelt vorhandenen Servern und mehrfachen, aktiven und passiven Energieversorgungswegen. Außerdem beschäftigen wir ein Team aus IT-Security-Experten, die unsere Lösung kontinuierlich überwachen. Dass das funktioniert, zeigt sich u.a. daran, dass zu unseren Kunden auch große Banken und Versicherungen zählen –  Die haben unsere Sicherheitsprozesse umfangreich überprüft.
 
Wie exakt sind die Testergebnisse?
Lenke:
Wir hosten echte Smartphones. Da die Tests auf diesen durchgeführt werden, sind die Ergebnisse sehr exakt. In unserem Rechenzentrum in Berlin haben wir z.B. mehr als tausend iOS- und Android-Geräte, die wir den Kunden über unsere Plattform zur Verfügung stellen. Grundsätzlich ist aber jedes Testergebnis so exakt wie der Test es zulässt. Daher ist es für Unternehmen wichtig, nicht nur einen professionellen Partner mit entsprechendem Know-how zu haben, sondern auch selbst im eigenen Unternehmen Fachwissen im Bereich der Testautomatisierung aufzubauen.
 
Für wen empfiehlt sich die Nutzung der von Ihnen angebotenen Testsituationen?
Lenke:
Ich denke, dass automatisiertes Cloud Testing für alle Unternehmen relevant ist, die Software mit einem User Interface entwickeln. Unsere Kunden kommen aus den unterschiedlichsten Branchen. Start-ups fangen bei uns traditionell klein an und mit ihrem Wachstum wächst auch der Bedarf an Qualitätssicherung. Bei großen bestehenden Unternehmen ist dies nicht anders. Mit der Digitalisierung entwickelt sich jedes Unternehmen zu einem Software-Unternehmen. In diesem Bereich besitzen Start-ups sogar einen kleinen Vorteil, weil sie von Anfang an digitalisiert arbeiten. Alteingesessene Unternehmen befinden sich häufig genug erst noch im Prozess der Umstellung auf agile Software-Entwicklung. Das Grundprinzip agiler Software-Entwicklung ist es, nach jedem Sprint eine neue und voll-getestete Version der Software an die Kunden ausliefern zu können. Diese „schnelle Taktung“ erfordert eine immer weitere Testautomatisierung und auch die Möglichkeit, auf viele Testressourcen parallel zugreifen zu können.
 
Kleine Unternehmen und Start-ups haben nur selten die Möglichkeiten einer Inhouse-Test-Struktur, da sie aufwendig und kostenintensiv ist. Doch in welchen Szenarien würden Sie trotzdem klassisches Testing empfehlen?
Lenke:
Klassisches Testen bedeutet für mich immer manuelles Testen nach dem Wasserfallprinzip. Meiner Erfahrung nach unterscheiden sich Start-ups hier nicht von größeren Unternehmen. Einige wenige Anwendungsfälle müssen sicher immer manuell getestet werden. Dies betrifft z.B. das Testen der Nutzerfreundlichkeit einer Applikation. Andere sollten automatisiert und parallel getestet werden. Dafür bietet sich meistens eine Test-Cloud an, da diese skalierbarer ist und die Wartung zentral übernommen wird. Ein Entwickler könnte die neueste Version einer nativen App auf einem physikalischen Gerät installieren und dann eine Funktion testen, die für Kunden relevant sein könnte.

Was sind übliche Stolperfallen, denen App-Entwickler während des gesamten Testprozesses begegnen?
Lenke:
Oftmals wird der Aufwand, gute Testskripte zu schreiben, deutlich unterschätzt. Testautomatisierung lebt von einer Anfangsinvestition, die die Automatisierung ermöglicht. Dann muss aber auch in den weiteren Iterationen zusätzliche Zeit für die Wartung der Testskripte eingeplant werden. Wenn dies nicht geschieht, leidet der Testprozess. Generell sollten Testcodes wie Programmiercodes begriffen werden und daher auch von Entwicklern oder von Testautomation Engineers geschrieben werden.
 
 
Gibt es etwas, das häufig falsch gemacht wird? Was kann man verbessern?
Lenke:
Testskripte sind häufig viel zu lang und zielen darauf ab, die gesamte App in einem „Lauf“ zu testen. Dadurch werden Tests unzuverlässig und können auch schwer parallel ausgeführt werden. Viele Unternehmen, die vorher noch keine Tests automatisiert durchgeführt haben, machen diesen Fehler. Auch achten die Programmierer oftmals nicht darauf, ob ihre App gut testbar ist. Daher ist es wichtig, die Programmierer dahingehend zu schulen, dass sie beispielsweise in der App IDs für Buttons so vergeben, dass diese gut in Testskripten referenzierbar sind.
 
Von der Entwicklung in den App-Store: Können Sie für uns die wichtigsten Schritte zusammenfassen?
Lenke:
Die wichtigsten Phasen der Software-Entwicklung sind im Prinzip seit Jahren die gleichen. Der Unterschied bei der agilen Software-Entwicklung ist, dass die Phasen mehrmals wiederholt werden. Normalerweise wird Software in einem mehrwöchigen Sprint entwickelt und diese währenddessen auch oftmals bei jeder Änderung getestet. Wenn die Tests erfolgreich waren, wird die Software im Build-Prozess „zusammengebaut“. Auch dann wird normalerweise mit dem neuesten Build ein „End-to-End“-Test durchgeführt. Wenn dieser ebenfalls erfolgreich war, kann die Software in den App-Store hochgeladen werden. Sie sehen also, dass Tests ein wichtiges Verbindungsglied zwischen vielen Phasen darstellen können, und deshalb nennen wir die Philosophie auch Continuous Testing.

Bild: Sauce Labs

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok