App-Performance-Monitoring

App-Entwicklung mit DevOps

DevOps-Verfahren sollen durch ständigen Austausch zwischen den Beteiligten Innovation beschleunigen und Performance-Schwächen ausschließen.

Gruppe mit mobilen Endgeräten

DevOps-Verfahren rücken angesichts steigender Tempo- und Leistungsanforderungen in den Fokus. Ein ständiger Austausch zwischen App-Entwicklern, Qualitätsmanagern und Verantwortlichen für den Produktivbetrieb soll Innovation beschleunigen und Performance-Schwächen ausschließen. Schlüssel zum Erfolg ist eine abteilungsübergreifende Abstimmung zwischen IT-Spezialisten und betriebswirtschaftlich kalkulierenden Managern. Interdisziplinäre Zusammenarbeit ist dafür Voraussetzung, aber erst die halbe Miete. Ebenso wichtig sind Verfahren für Lasttests und Performance-Monitoring, die die DevOps-Kultur unterstützen. Dazu gehören:

  • Qualitätssicherung mit Integration von Spezialisten und Management: Kurven, Diagramme und grafische Nutzeroberflächen machen es Geschäftsverantwortlichen einfacher, gemeinsam mit Software-Spezialisten an der App-Optimierung zu arbeiten. Dank Kollaborationsplattformen können Manager, Entwickler und externe Partner gleichzeitig auf Messdaten zugreifen und Testeinstellungen fachübergreifend vornehmen. Hierfür sind selbst erstellte Skripts nur bedingt geeignet. Testsoftware, in der auch IT-Laien Nutzerszenarien definieren können, macht es leichter, die DevOps-Kultur zu leben.
  • Durchgängige Leistungsprüfung über den gesamten App-Lebenszyklus: In der App-Entwicklung sollten Testparameter von den frühen Komponententests bis hin zur abschließenden Systemprüfung wiederverwendbar sein. Diese Herangehensweise bewährt sich auch im Produktivbetrieb, um das Nutzererlebnis für erfolgskritische Funktionen (z.B. „Bezahlen“) zu erfassen und mit den Testwerten im Labor zu vergleichen. Werden Zielvorgaben wie z.B. Reaktionszeiten verfehlt, lassen sich die Messwerte aus den einzelnen Entwicklungsschritten analysieren und Schwachstellen lokalisieren.  

    Nicht nur die Dynamik in der App-Entwicklung, auch die Komplexität der Smartphone-Welt erfordert im Vergleich zur klassischen Software-Entstehung eine veränderte Testmethodik, die folgende Punkte berücksichtigt:
  • Vielfalt der Endgeräte: Konkurrierende Betriebssysteme sowie die Heterogenität der Android-Versionen und Firmware-Erweiterungen erzeugen Komplexität. Dem tragen mobile Browser Rechnung: Sie identifizieren sich über ihren User-Agent-Header, damit die Serverweiche die passende Webseite ausliefert. Last- und Performance-Test-Tools müssen dieses Browser-Verhalten authentisch simulieren. Dazu ist es entscheidend, die User-Agent-Angaben (Betriebssystem, Formfaktor, Verbindungsart, Gerätekonfiguration) manipulieren zu können, um die Server mit einer realitätsnahen Verteilung verschiedener Browser anzusprechen.
  • Nebeneinander von nativen, hybriden und Web-Apps: Die Server-Smartphone-Interaktion variiert je nach App-Typus erheblich. Qualitätsverantwortliche müssen die hinterlegten Mechanismen erfassen und in Last- und Performance-Tests adäquat nachbilden.  Testtools erleichtern die Aufgabe durch eine Aufzeichnung der jeweiligen Client-Server-Kommunikation, diese kann in Testszenarios verwendet werden.
  • Unterschiedliche Bandbreitenabdeckung: Die Datenraten der Mobilnetze schwanken je nach Region und Tageszeit. Also erfordern Testläufe eine flexible Konfiguration von Bandbreiten, Latenzzeiten und Paketverlusten. Bandbreiten als Ganzes lassen sich z.B. mit WAN-Emulationssoftware limitieren. Besser ist es, die Bandbreite der künstlichen Nutzer individuell zu emulieren, da auch reale Anwender je nach Provider oder Vertrag unterschiedlich schnell auf Webanwendungen zugreifen. Gute Testsoftware ermöglicht dies ebenso wie eine regionale Verteilung der Testnutzer mit entsprechender Bandbreite. Dazu wird eine Cloud mit weltweit verteilten Servern eingesetzt, die App-Aufrufe aus dem In- und Ausland mit regionalspezifischen Konfigurationen starten. 


Performance-Monitoring mit künstlichen oder echten Nutzern?

Facebook bekam jüngst den Nutzerunmut zu spüren, nachdem das Unternehmen Anwender absichtlich mit Performance-Schwächen der App konfrontiert hatte. So weit gehen sicher nur wenige Anbieter, die ihr Qualitätsmanagement mit den Messdaten aktiver Nutzer bestreiten. „Es gibt gute Gründe, Kunden nicht als Versuchspersonen einsetzen: Denn Schwierigkeiten lassen sich bei diesem Verfahren erst entdecken, wenn auch der Gast sie bemerkt. Für eine präventive Qualitätskontrolle sind künstliche Nutzer weit besser geeignet. Sie simulieren permanent Transaktionen, um Fehler aufzuspüren, bevor der reale Kunde sie bemerkt“, erklärt Dipl.-Ing. Gregor Mayer, Territory Manager DACH bei Neotys.

©2020Alle 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