Die Schlagzahl erhöhen

Artikel von Bruno Duval

Bruno Duval (VP Professional Services, Neotys) über eine schnelle und agile Testtaktung, die mit der Tempoverschärfung in der App-Entwicklung Schritt hält.

Von mobilen Apps wird erwartet, sowohl leicht als auch leistungsstark zu sein. Wollen Entwickler beide Qualitätskriterien in dieser Kombination erfüllen, müssen sie sich von klassischen Testverfahren und Prüftools verabschieden.

Die Anforderung der „Leichtigkeit“ bedeutet in der Praxis, dass Apps als eine reduzierte Version klassischer Webanwendungen in der Herstellung besonders preisgünstig sein sollen. Die Entwicklungsbudgets sind daher knapp kalkuliert, und Performancetests werden dabei als eine Variable betrachtet, die beliebig verkleinert werden kann. Die Aufgabe bei der App-Entwicklung besteht heute darin, im eng gesteckten Kosten- und Zeitrahmen zu bleiben und dennoch ein hohes Leistungsniveau abzusichern. Denn die Performance entscheidet nicht nur über das Nutzererlebnis, sondern auch über die Kundenakzeptanz der App sowie über den Erfolg der Geschäftsmodelle und Marketingkampagnen, die auf mobilen Anwendungen basieren. Ihre Leistungsfähigkeit garantieren zu können, ist entscheidend, aber angesichts strenger Kostenvorgaben für das Qualitätsmanagement kaum zu erfüllen.

App-Entwickler stehen daher unter hohem Effizienzdruck. Die Anforderungen an den Leistungscheck steigen, die verfügbaren Budgets sinken. Herkömmliche Testabläufe und -werkzeuge, die für vielschichtige Webanwendungen, höhere Entwicklungsetats und längere Entstehungszyklen ausgelegt sind, erweisen sich für die Ökonomie der App-Produktion als ungeeignet.

Hinzu kommt, dass Performancetests von mobilen Anwendungen gegenüber klassischen, browserbasierten PC-Applikationen deutlich komplexer sind. Die Gründe dafür liegen in den heterogenen Rahmenbedingungen der Mobilfunknetze (mit z.B. regional unterschiedlichen Datenraten, Latenzzeiten, Paketverlusten) sowie den Charakteristika der jeweiligen Endgeräte (Smartphones, Tablets, Phablets), die realitätsnah simuliert werden müssen.

Mobilität verändert vor allem drei Aspekte der Anwendungsentwicklung von Grund auf:

1. Technologie: Um mobile Apps adäquat zu testen, sind andere Funktionen als bisher erforderlich.

2. Prozesse: kürzere Testzyklen, um die AppEntwicklung nicht zu verzögern

3. Kosten: Im Hinblick auf die ökonomischen Rahmenbedingungen der App-Entwicklung werden Testzyklen gestrafft, sodass alle erforderlichen Personenstunden und Testsoftware-Lizenzen unter Kostenvorbehalt stehen.

Vor diesem Hintergrund erweist sich die bisher in Unternehmen hinterlegte Testorganisation als nicht mehr zeitgemäß. Entwicklungs- und Qualitätsverantwortliche sehen sich heute vor Herausforderungen gestellt, die es technologisch sowie auf Prozess- und Budgetebene zu meistern gilt:

a) Neue Technologien im Blick und im Griff

Der Leistungscheck mobiler Anwendungen verlangt andere Kompetenzen und Tools als bisher. Unterschiede gegenüber klassischen Performancetests ergeben sich vor allem bei der Aufzeichnung von Testszenarios, der Simulation realistischer Bandbreiten und Browsereigenschaften sowie der Ergebnisanalyse. Um die erforderliche Lasthärte im Produktivbetrieb sicherzustellen, sollten Apps schon in der Entstehungsphase umfassend geprüft werden. Dabei ist den besonderen Rahmenbedingungen mobiler Kommunikation auf drei Ebenen Rechnung zu tragen:

  • Simulation von Mobilfunknetzen: Der 3G/UMTS-Standard für Smartphones und Tablets hinkt in Qualität und Geschwindigkeit zumeist deutlich hinter heutigen Internetverbindungen für Desktop oder Notebook hinterher. Die daraus erfolgenden Rückwirkungen auf Client (Antwortzeiten) und Server (mehr parallele Anfragen) müssen Entwickler beim Aufsetzen und Auswerten von Testläufen angemessen berücksichtigen.
  • Aufzeichnen von Testszenarios: Apps, die abgesicherte und verschlüsselte (HTTPS-)Verbindungen nutzen, verlangen gesonderte Aufmerksamkeit, spezielle Strategien oder Tools.
  • Unterstützung für unterschiedliche Endgeräte: Die Vielfalt der im Markt verbreiteten Geräte hat dazu geführt, dass Inhalte auf die Leistungsfähigkeit der jeweiligen Plattformen zugeschnitten sind. Die Heterogenität der Plattformen und Softwareentwicklungen abzudecken, erhöht die Komplexität beim Aufsetzen und Durchführen von Testläufen.

Die richtigen Werte für die zentralen Testeinstellungen – wie User Agent, Bandbreite oder die Zahl paralleler Serveranfragen – festzulegen, kann eine echte Herausforderung sein. Hier können moderne, professionelle Testlösungen z.B. die Testdurchführung vereinfachen, indem sie Qualitätsverantwortliche unterstützen und automatisch Vorschläge liefern, welche Einstellungen (User-AgentString oder Zahl paralleler Anfragen) sich für bestimmte Browsertypen und -versionen oder Plattformen am besten eignen. Die Arbeitsabläufe werden weiter gestrafft, wenn ein Tool Empfehlungen gibt, welche Upload-/ Download-Datenraten sich bei der Simulation von Verbindungsstandards (WLAN, UMTS, HSDPA, LTE etc.) oder Signalstärken (schwach, normal, gut) in aller Regel bewähren.

b) Testläufe schneller und mit hoher Ergebniseffizienz abschließen

Mobile Apps haben kürzere Entwicklungszyklen als herkömmliche PC-Anwendungen und sind daher zumeist einfacher im Aufbau und in ihren Funktionalitäten reduziert. Die Veröffentlichungsfrequenz liegt bei mobilen Anwendungen deutlich höher, da die Technologien, auf denen sie basieren, einem hohen Entwicklungstempo unterliegen. Zudem wird der Boom mit Zehntausenden von Apps pro Monat auch dadurch angeheizt, dass Smartphone-Nutzer ständig „frische“ Angebote erwarten.

Knappe Zeitvorgaben bei der Entwicklung, eine schnelle Folge neuer Releases, die schiere Zahl monatlich erscheinender Apps – das alles setzt Last- und Performancetester unter Zugzwang, zumal die Qualitätsprüfung häufig sehr spät, nämlich erst am Ende des Entstehungsprozesses, erfolgt. Druck entsteht vor allem dadurch, dass Tester schnell und direkt verwertbare Resultate liefern müssen, um sich nicht in die Rolle eines „Flaschenhalses“ drängen zu lassen. Entwickler und Qualitätsmanager benötigen daher Tools, die ihnen helfen, gar nicht erst unter Druck zu geraten und ihre Aufgabe im Einklang mit straffen Projektplänen zu erfüllen. Moderne Tools leisten das auf drei Ebenen:

1. Steile Lernkurve

Performancetests sind eine komplexe Aufgabe: Einerseits verlangt der effektive Einsatz eines Test-Tools z.B. bei der Skriptaufzeichnung und Testdurchführung viel Erfahrung; andererseits gilt es, Anwendungen in ihrer Architektur und dem Zusammenwirken der technologischen Bausteine zu verstehen. Die dazu erforderliche Softwareexpertise kann nur in langjähriger Praxis wachsen und kann selbst durch die besten Tools nicht ersetzt werden. Aber neuartige Testlösungen leisten dafür etwas anderes: Sie senken die Kompetenzhürden für einen erfolgreichen Einsatz, indem sie das aufwendige Scripting überflüssig machen. Ohne Skriptsprachen oder die Konstruktion einer API von Grund auf zu erlernen, können Tester sich darauf konzentrieren, relevante Resultate zu ermitteln und die Vertrautheit mit ihrem Tool zügig zu vertiefen. Aktuelle Lösungen leisten das mit Wizards und intuitiv bedienbaren grafischen Nutzeroberflächen. Aus dem exklusiven Können weniger Spezialisten wird so eine Fähigkeit, die Qualitätsverantwortliche deutlich schneller erwerben und teamübergreifend nutzen können. Dadurch stehen mehr Ressourcen zur Verfügung, um Testläufe in dem Tempo abzuschließen, das den beschleunigten App-Entwicklungszyklen gerecht wird.

2. Automatisierung

Produktivitätserhöhung ist heute auch in der Qualitätssicherung unabdingbar. Effizienzpotenzial besteht vor allem bei der Reiteration von Testreihen, wenn jeweils nur einzelne Parameter neu justiert werden. Hier beschleunigt Automatisierung die Abläufe und reduziert den Aufwand beim Aufsetzen und Durchführen von Leistungschecks. Eine moderne Last- und Performancetest-Software sollte daher Automatisierung in allen wichtigen Projektphasen unterstützen (s. Abb. 1).

3. Vernetztes Arbeiten

Straffe Zeit- und Zielvorgaben haben in der Softwareentwicklung neue, flexible Organisationsformen hervorgebracht, die auf eine besonders „agile“ und reibungslose Zusammenarbeit unterschiedlicher Spezialisten innerhalb eines Projektes zielen. Da Performancetests in der Entwicklungsphase kontinuierlich, teilweise täglich erfolgen, ist eine parallele und nahtlose Interaktion der Teammitglieder ein grundlegendes Gebot der Arbeitseffizienz. Die Synchronisation von Informationsständen, das Teilen von Skripten sowie die Nachverfolgung von Projektfortschritten sollten daher für alle Beteiligten am besten zu jeder Zeit möglich sein. Test-Tools mit Kollaborationsfunktionen unterstützen diese besonders schnelle Arbeitsweise, indem auch team- oder sogar unternehmensübergreifend dieselben vordefinierten Lastszenarios oder virtuellen Nutzer zur Verfügung stehen. Speziell in der Welt der mobilen Apps mit ihren komprimierten, häufig parallel angesetzten Entwicklungszyklen kann nur eine agile Methodik die erwartete Produktivitäts- und Temposteigerung sicherstellen.

Damit die Kosten-NutzenRechnung aufgeht

Es gibt eine ganze Reihe Faktoren, die Lasttests betriebswirtschaftlich schnell als Last erscheinen lassen und daher unter Kostenvorbehalt stellen: Einer der Gründe dafür ist, dass Apps häufig im Hinblick auf Marketingziele und Markenpflege veröffentlicht werden. Werden sie dann kostenlos zur Verfügung gestellt, können sie die Entwicklungskosten nicht direkt wieder einspielen. Das gilt insbesondere auch für Performancetests, die hier ohne klaren Return on Invest zu Buche schlagen.

Wird eine mobile App im Hinblick auf direkte Einnahmen (wie z.B. im Gaming-Bereich) oder als Zugang zu Internetservices (OnlineBanking) bzw. Geschäftsanwendungen (CRMSysteme) entwickelt, handelt es sich zumeist um die „Light“-Version einer klassischen PC-Anwendung. Die Entwicklungs- und Testbudgets sind infolgedessen ebenfalls deutlich reduziert – und das, obwohl mobile Apps aufgrund der Heterogenität der Plattformen und Mobilfunknetze deutlich komplexere Testanforderungen stellen.

Herkömmliche Methoden und Tools für Performancetests lassen die Kosten-NutzenRechnung vor allem aus zwei Gründen nicht aufgehen:

1. Herkömmliche Methoden und Tools erfordern einen hohen Einsatz an Personenstunden, die mit den reduzierten Budgets für mobile App-Entwicklungen unvereinbar sind. Zudem sind klassische Lasttests für längere Zeiträume ausgelegt. Sie erfüllen damit weder die Time-to-Market-Vorgaben für mobile App-Veröffentlichungen noch die Kostenplanungen. Lasttests werden so zur Belastung für Projekte oder werden teilweise – mit allen negativen Folgen für die Qualität der Anwendungen – gestrichen.

Lasttests sollten vor diesem Hintergrund schneller, agiler und kosteneffizienter werden. Moderne Testsoftware sollte R&D-Teams und Qualitätsverantwortliche dabei unterstützen, indem Testszenarios und Skripterstellung teamübergreifend genutzt und kollaborativ modifiziert werden können.

2. Das traditionelle Modell „Erst kaufen, dann nutzen“ wird mobilen App-Tests nicht mehr gerecht. Vorlaufende Investitionen in Testsoftware-Lizenzen sind den reduzierten R&D-Etats nicht mehr angemessen, zumal Lizenzkosten inzwischen das gesamte Entwicklungsbudget übersteigen können. Die einzig gangbare Alternative besteht dann in flexiblen Miet- oder Bezahlmodellen (Payper-Use), die die Kosten „operationalisieren“ und im Rahmen der Ausgabenlimits halten. Das ist auch deshalb entscheidend, da immer mehr mobile Apps in immer kürzeren Entwicklungszyklen zur Marktreife gebracht werden müssen. Performancetests werden daher nicht mehr alle 6 bis 12 Monate, sondern in weit größerer Zahl über das Jahr verteilt anberaumt – jeweils nach aktuellem Bedarf, sobald neue Apps auf den Weg gebracht werden. Testsoftware kann vor diesem Hintergrund nicht mehr nur einem Projekt oder Team zugeordnet werden, sondern sollte – technologisch, organisatorisch und lizenzrechtlich – immer da einsatzbereit sein, wo sie gerade benötigt wird.

Fazit

Die Leistungsfähigkeit einer Anwendung gibt den Ausschlag über ihren Erfolg im Markt. Das gilt mehr denn je für eine mobile App. Für Performancetester bedeutet dies, ihre Rolle in der stark gestrafften R&D-Wertschöpfungskette und ihren Beitrag zum Erfolg neu zu bewerten. Neben ihrem rein technologischen Know-how sind Tester angesichts knapper Zeit- und Kostenvorgaben zunehmend auch in ihrer Organisations- und Projektkompetenz gefordert. Um diese Herausforderung zu meistern, sollten sie die Tools auswählen, die ihnen die Erfüllung und Gestaltung der erweiterten Aufgaben am meisten erleichtern. Natürlich werden bei der Auswahl der Testsoftware auch weiterhin Funktionsumfänge und die Unterstützung für mobile Technologien eine Hauptrolle spielen. Aber gleichzeitig treten neue Leistungskriterien in den Mittelpunkt. Sie betreffen vor allem die Fähigkeit der Lösung, den organisatorischen Wandel in der heutigen Testpraxis abzubilden und dabei einer teamübergreifenden, agilen sowie kollaborativen Arbeitsweise großzügig Raum zu geben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kategorien

Recent Posts