Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die...

5
Moderne Anwendungen testen – ein Leitfaden Laut einer Forrester-Umfrage (206 IT-Entscheidungsträger mit Einblick in Modernisierungsaktivitäten, für die bereits Budget bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und Kostenersparnis. In einer Zeit, in der alle Anforderungen sofort erfüllt werden müssen und sich das Umfeld ständig verändert, ist ein flexibles, schnell reagierendes Unternehmen klar im Vorteil. Innovation ist der Schlüssel zu einem stärkeren Wachstum und zur Differenzierung gegenüber der Konkurrenz. Bei Geschäftsanwendungen kann dies bedeuten, die Funktionen zur Verfügung zu stellen, die Nutzer von ihrem Umgang mit sozialen Medien gewohnt sind und auch an anderer Stelle erwarten: mehr Darstel- lungsoptionen, Interaktion sowie eingebettete Medien. All dies muss zudem schnell realisiert werden, während gleichzeitig die Betriebskosten gesenkt und die operativen Abläufe verbessert werden müssen. Um diese geschäftlichen Anforderungen zu erfüllen, führen erfolgreiche Unternehmen nicht nur neue Technologien und Architekturen, sondern auch neue Methoden wie etwa agile oder iterative Entwicklungsprozesse ein. Diese wesentlichen neuen IT-Initiativen können entscheidende Weichen für das Unternehmen stellen, sie können aber auch Funktionstests in der Qualitätssicherung erschweren. Tests verwendeten Methoden müssen sich entsprechend verändern, damit Vorteile agiler Methoden und Verfah- ren nicht zunichte gemacht werden. Die Tests sollen zu einem früheren Zeit- punkt im Lebenszyklus stattfinden, häufig parallel zur Entwicklung. In vie- len Fällen müssen sowohl Tester als auch Entwickler bei der Testdurch- führung mitarbeiten, um eine Iteration im Zeitplan zu halten. QA-Ingenieure müssen auch dann testen, wenn kaum Dokumentation zu der Anwendung verfügbar ist. Sie müssen unter Zeit- druck umfassende Fehlerbeschrei- bungen bereitstellen, damit Probleme schnell behoben werden können. Häufig ist es erforderlich, Komponen- ten der Anwendung oder einzelne Funktionen anstelle einer vollständigen Endversion zu testen. Aufgrund dieser Herausforderungen wird es immer wichtiger, Verfahren wie das explorati- ve Testen anzuwenden, um Anwen- dungen schnell auf Defekte zu prüfen. Der größte Vorteil dieser Art von Tests ist die Zeitersparnis, sowohl bei der matisierung von Tests liegen. Zur gründ- lichen Prüfung von Composite Applica- tions sollten GUI, Non-GUI und sämtliche Funktionalitäten möglichst immer automa- tisch getestet werden. Herausforderungen für Test-Teams Das Aufkommen neuer Technologien und Entwicklungsprozesse führt zu einer höhe- ren Komplexität und verlangt kürzere Testzyklen. Ein Test-Team, das darauf nicht vorbereitet ist, kann schnell als Hindernis für geschäftliche Flexibilität und zügigere Markteinführung gelten. Nachfolgend eini- ge Gründe, warum gerade funktionale Tests besondere Hürden darstellen. Agile Entwicklung: IT-Organisationen führen hybride, agile Entwicklungs- prozesse ein, um die Markteinführung zu beschleunigen und Kosten von Änderungen und Nacharbeit zu verrin- gern. Diese Prozesse beinhalten Feed- back-Mechanismen, um keine Zeit durch langwierige Planungsphasen zu verlieren. Die bei den funktionalen Iterative Entwicklungsprozesse erfordern es, Tests früher im Lebenzyklus der Anwen- dung, häufiger und schneller durchzufüh- ren. Der Bedarf an Testmethoden, die die- sen Anforderungen gerecht werden, steigt. In diesem Zusammenhang gewinnt auch das Thema der Testautomatisierung immer mehr an Bedeutung. Neue Technologien wie Composite Applications, Cloud Computing und mobile Plattformen brin- gen eigene Herausforderungen mit sich. Hierzu zählen der Einsatz neuer Toolkits, Tests auf mehreren Plattformen, Geräte- typen in der Cloud und On-Premise. Um diese Herausforderungen zu meistern, müs- sen Unternehmen ihre Vorgehensweise beim Testen ändern. Außerdem sollte eine effektive, aber gleichzeitig leicht zu ändern- de Teststrategie entworfen werden. Es emp- fiehlt sich der Einsatz eines Frameworks mit wiederverwendbaren Testkomponen- ten, um die Erstellung und Pflege der Tests effizienter zu gestalten. Moderne Testme- thoden vermeiden die repetitiven, fehler- trächtigen Aufgaben des manuellen Testens und ermöglichen eine bessere Kommunika- tion. Ein Hauptfokus sollte auf der Auto- der autor Jürgen Pilz ([email protected]) ist seit März 2007 als Manager Presales Consulting bei HP Software tätig. Von Juli 2003 bis Februar 2007 verantwortete er bei Mercury Interactive, das von Hewlett-Packard übernommen wurde, als Manager Presales den Bereich Applications für Zentral- und Osteuropa. Davor war er bei Applix als Anwendungsspezialist für die UNIX-basierenden Office- und OLAP-Lösungen primär für Kunden im Banken- und Versicherungsumfeld zuständig. Zu sei- nen Aufgaben gehörte neben dem klassischen Pre- und Postsales auch die Qualitätssicherung der von ihm betreuten Produkte. 1 www.objektspektrum.de advertorial

Transcript of Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die...

Page 1: Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und

Moderne Anwendungen testen – ein LeitfadenLaut einer Forrester-Umfrage (206 IT-Entscheidungsträger mit Einblick in Modernisierungsaktivitäten, für die bereits Budgetbereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation undKostenersparnis. In einer Zeit, in der alle Anforderungen sofort erfüllt werden müssen und sich das Umfeld ständig verändert, istein flexibles, schnell reagierendes Unternehmen klar im Vorteil. Innovation ist der Schlüssel zu einem stärkeren Wachstum undzur Differenzierung gegenüber der Konkurrenz. Bei Geschäftsanwendungen kann dies bedeuten, die Funktionen zur Verfügung zustellen, die Nutzer von ihrem Umgang mit sozialen Medien gewohnt sind und auch an anderer Stelle erwarten: mehr Darstel -lungs optionen, Interaktion sowie eingebettete Medien. All dies muss zudem schnell realisiert werden, während gleichzeitig dieBetriebskosten gesenkt und die operativen Abläufe verbessert werden müssen. Um diese geschäftlichen Anforderungen zu erfüllen, führen erfolgreiche Unternehmen nicht nur neue Technologien und Architekturen, sondern auch neue Methoden wieetwa agile oder iterative Entwicklungsprozesse ein. Diese wesentlichen neuen IT-Initiativen können entscheidende Weichen fürdas Unternehmen stellen, sie können aber auch Funktionstests in der Qualitätssicherung erschweren.

Tests verwendeten Methoden müssensich entsprechend verändern, damitVorteile agiler Methoden und Verfah -ren nicht zunichte gemacht werden. DieTests sollen zu einem früheren Zeit -punkt im Lebenszyklus stattfinden,häu fig parallel zur Entwicklung. In vie-len Fällen müssen sowohl Tester alsauch Entwickler bei der Test durch -führung mitarbeiten, um eine Iterationim Zeitplan zu halten. QA-Ingenieuremüssen auch dann testen, wenn kaumDokumentation zu der Anwendungverfügbar ist. Sie müssen unter Zeit -druck umfassende Fehlerbeschrei -bungen bereitstellen, damit Problemeschnell behoben werden können.Häufig ist es erforderlich, Komponen -ten der Anwendung oder einzelneFunktionen anstelle einer vollständigenEndversion zu testen. Aufgrund dieserHerausforderungen wird es immerwichtiger, Verfahren wie das explorati-ve Testen anzuwenden, um Anwen -dungen schnell auf Defekte zu prüfen.Der größte Vorteil dieser Art von Testsist die Zeitersparnis, sowohl bei der

matisierung von Tests liegen. Zur gründ-lichen Prüfung von Composite Applica -tions sollten GUI, Non-GUI und sämtlicheFunktionalitäten möglichst immer automa-tisch getestet werden.

Herausforderungenfür Test-TeamsDas Aufkommen neuer Technologien undEntwicklungsprozesse führt zu einer höhe-ren Komplexität und verlangt kürzereTestzyklen. Ein Test-Team, das darauf nichtvorbereitet ist, kann schnell als Hindernisfür geschäftliche Flexibilität und zügigereMarkteinführung gelten. Nachfolgend eini-ge Gründe, warum gerade funktionaleTests besondere Hürden darstellen.

■ Agile Entwicklung: IT-Organisationenführen hybride, agile Entwicklungs -prozesse ein, um die Markteinführungzu beschleunigen und Kosten vonÄnderungen und Nacharbeit zu verrin-gern. Diese Prozesse beinhalten Feed -back-Mechanismen, um keine Zeitdurch langwierige Planungsphasen zuverlieren. Die bei den funktionalen

Iterative Entwicklungsprozesse erfordernes, Tests früher im Lebenzyklus der Anwen -dung, häufiger und schneller durchzufüh-ren. Der Bedarf an Testmethoden, die die-sen Anforderungen gerecht werden, steigt.In diesem Zusammenhang gewinnt auchdas Thema der Testautomatisierung immermehr an Bedeutung. Neue Technologienwie Composite Applications, CloudCompu ting und mobile Plattformen brin-gen eigene Herausforderungen mit sich.Hierzu zählen der Einsatz neuer Toolkits,Tests auf mehreren Plattformen, Geräte -typen in der Cloud und On-Premise. Umdiese Herausforderungen zu meistern, müs-sen Unternehmen ihre Vorgehensweisebeim Testen ändern. Außerdem sollte eineeffektive, aber gleichzeitig leicht zu ändern-de Teststrategie entworfen werden. Es emp-fiehlt sich der Einsatz eines Frameworksmit wiederverwendbaren Testkompo nen -ten, um die Erstellung und Pflege der Testseffizienter zu gestalten. Moderne Test me -thoden vermeiden die repetitiven, fehler-trächtigen Aufgaben des manuellen Testensund ermöglichen eine bessere Kommuni ka -tion. Ein Hauptfokus sollte auf der Auto -

der au tor

Jürgen Pilz

([email protected])ist seit März 2007 als Manager Presales Consulting bei HP Software tätig. VonJuli 2003 bis Februar 2007 verantwortete er bei Mercury Interactive, das vonHewlett-Packard übernommen wurde, als Manager Presales den BereichApplications für Zentral- und Osteuropa. Davor war er bei Applix alsAnwendungsspezialist für die UNIX-basierenden Office- und OLAP-Lösungenprimär für Kunden im Banken- und Versicherungsumfeld zuständig. Zu sei-nen Aufgaben gehörte neben dem klassischen Pre- und Postsales auch dieQualitätssicherung der von ihm betreuten Produkte.

1 www.objektspektrum.de

advertorial

Page 2: Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und

Durchführung als auch bei der Kon zep -tion und Dokumentation.

■ Composite Applications: Das Test-Team muss das nötige Know-how besit-zen, um Composite Applications mitumfangreichen GUIs, Non-GUI-Ge -schäftslogik, Shared Services (häufigSOA-gestützt) und vorkonfigurierteAnwendungsintegrationen testen zukönnen. Ein Test über die GUI erfolgtin einer späten Phase des Entwick -lungszyklus, in der die Behebung vonFehlern höhere Kosten verursacht. BeiTests über die GUI kann es zudem pas-sieren, dass nur ein Teil der Business-Funktionalität getestet wird. MöglicheFehlerzustände bleiben unerkannt, weilsie an anderer Stelle in der Anwendungliegen oder nur auftreten, wenn dieAnwendung ausgeführt wird. Es stelltsich die Frage, ob die eingesetzten Test -werkzeuge in der Lage sind, Kompo -nenten und Services ohne GUI richtigzu testen. Werden die erforderlichenTechnologien unterstützt? Oft werdenSchnittstellen und das erwartete Ver -hal ten bei Komponenten ohne GUIweniger gut verstanden und sindschlechter dokumentiert als Kompo -nen ten mit GUI. Wie soll zum Beispieleine Banktransaktion getestet werden,die mit einer Einzahlung beginnt, einenDatenbankaufruf ausführt, demKunden eine Nachricht sendet und ihmgleichzeitig rückbestätigt, dass dieEinzahlung erfolgreich war? Viele die-ser Prozesse finden im Hintergrundstatt und können nicht über die GUIgetestet werden. Wenn ein Nachrich -ten-Service neben der Benachrichtigungan den Kunden auch noch von einerTransaktion genutzt wird, die eineÜberziehungsbenachrichtigung sendet,werden vielleicht auch Fehler an ande-rer Stelle übersehen. Wenn vieleKompo nenten von mehreren Anwen -dun gen genutzt werden, ist es für dasTest-Team schwierig, Abhängigkeitenzwischen Komponenten und Anwen -dungen zu erkennen. Insbesonderewenn einzelne Services nicht verfügbarsind oder Services von Drittanbieterneingebunden werden. Angesichts einergroßen Zahl von Permutationen greifenviele Unternehmen auf Testautomati -sierung zurück. Doch auch diese birgtspezielle Schwierigkeiten. Der Arbeits -aufwand zur Automatisierung vonTests wird häufig unterschätzt. Zum

einen muss qualifiziertes Personal fürKonzeption, Validierung und Wartungzur Verfügung stehen. Der Einsatz spe-zialisierter Tools für verschiedene Tech -nologien oder Anwendungen kannhöhere Ausgaben für Tools und Schu -lungen bedeuten und die Möglichkeitenzur unternehmensweiten Standardi -sierung einschränken. Außerdem stelltsich das Problem, dass für Testskriptsverantwortliche Mitarbeiter im Laufeder Zeit wechseln, ohne Testskriptsdokumentiert zu haben.

■ Mobile IT: Unternehmensanwendun -gen für mobile Endgeräte müssengenauso gründlich getestet werden wieihre Desktop-Varianten. Benutzer,deren Qualitätserwartungen von ihrenprivaten Smartphone-Apps geprägtwerden, haben keine Geduld mit fehler-behafteteten mobilen Unternehmensan -wen dungen. Deshalb ist es von entscheidender Bedeutung für Pro -dukti vität und Kundenbindung, dassdurch intensives Testen die einwand-freie Funktion sichergestellt wird. DasTesten mobiler Anwendungen ist min-destens so komplex wie das Testen vonComposite Applications, imitieren siedoch nicht einfach die Desktop-Um -gebung. Sie unterliegen vielmehr speziellen Anforderungen an die Benut -zer oberfläche sowie eigenen Geschäfts -prozess abläufen und Infrastrukturab -hängig keiten. Eine weitereSchwie rig keit für das Test-Team bestehtdarin, dass mobile Anwendungen aufeiner Fülle unterschiedlicher Geräteeinsatzfähig sein müssen. Forrester (vgl.[For11]) kommt zu folgender Einschät -zung: „Kunden besitzen viele unter-schiedliche Endgeräte, die auf unter-schiedlichen Entwicklungsumgebungenaufbauen… Verschiedene Versionendesselben Betriebssystems, variableDisplay-Größen und eine große Anzahlvon Gerätemodellen bedeuten, dass dieKosten für Portierung, Wartung undPromotion von Anwendungen weiterhoch bleiben werden.“ ManuellesTesten kann sehr personalintensiv sein,wenn Smartphones, PDAs, Tablet-Computer und Spezialgeräte wie Hand -scanner und -drucker (zum Beispiel beieiner Autovermietung) mit einbezogenwerden sollen. Die Komplexität steigtbei Berücksichtigung der Permuta -tionen von Daten, Nutzungsszenarien,Mobilfunknetzen und Netzbetreibern.

Auch wenn die Implementierung auf-wändig ist, so bietet gerade dieserBereich ein ideales Einsatzfeld für Test -automatisierungslösungen.

Moderne Testmethodenfür mehr AgilitätTest-Teams können diese Herausfor derun -gen meistern. Sie arbeiten mit Entwicklungund Business-Analysten zusammen. Kenn -zahlen und Ergebnisse werden miteinanderausgetauscht. Qualitätsmanagement-Ini -tiativen resultieren in einer besser planba-ren Anwendungsbereitstellung mit höhererKundenzufriedenheit und weniger Fehlern.Erreicht werden kann dies über die Nut -zung von Prozessen und Methoden, welcheTests in den Frühphasen des Lebenszyklusermöglichen, den Automatisierungsgraderhöhen und die Testdurchführung ohneausführliche Dokumentation erlauben. ImAllgemeinen betrachten vorausplanendeTest-Teams die Testmethoden in ihrerGesamtheit, investieren Zeit in das Test -design und sind dadurch in der Lage, insge-samt mehr Tests durchzuführen und dieseschneller und früher abschließen zu kön-nen.

Mit folgenden Schritten kann ein Test-Team die Modernisierung angehen:

1. Die Designphase: Dieser Schritt wirdhäufig vernachlässigt, doch der sorgfäl-tige Entwurf der Teststrategie zahlt sichaus, denn Tests sind dann effizienterund einfacher zu pflegen. Es empfiehltsich der Einsatz eines Frameworks, d. h.die Erstellung eines Geschäftsprozess -modells und der Aufbau einer Biblio -thek mit wiederverwendbaren Test -komponenten, die zu Abläufenkombiniert werden können. Ein Bei -spiel: Drei Geschäftsprozesse sollenvalidiert werden – „Auftrag anlegen“,„Auftrag löschen“, „Auftrag aktuali-sieren“. Nach der Modellierung derGeschäftsprozesse sind mehrfach vor-kommende Bestandteile leicht zu erken-nen: Alle drei Prozesse nutzen dieselbeAnmeldefunktion (siehe Abbildung 1).Bei einer modularen Vorgehensweisemuss die Testkomponente für dieAnmeldefunktion nur einmal anstattdreimal erstellt werden, sodass keinmehrfacher Aufwand nötig ist. Wirddie Anmeldefunktion verändert, somuss die zugehörige Testkomponentenur einmal geändert werden. Alle Tests,in denen sie verwendet wird, werden

2Online-Themenspecial Testing 2012

Online-Themenspecial Testing 2012 advertorial

Page 3: Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und

Empfehlungen, welche Tests Sie wannautomatisieren sollten.

■ Regressionstests: Sie definieren einewesentliche Säule des Testens und die-nen in der Regel weniger dazu, Bugs inneuen Releases zu finden. Ihr Haupt -zweck ist die Sicherstellung derBusiness-Funktionen eines Geschäfts -prozesses, d. h. sie überprüfen, dassÄnderungen keine der bisher ohneAuffälligkeiten arbeitenden Funktionenstören. Automatisierung wird genutzt,um schnell ablaufende, wiederholbareRegressionstestpakete zu erstellen, dierund um die Uhr ausgeführt werdenkönnen. Werden diese automatisiertenRegressionstests in den Entwicklungs -prozess eingebunden, ermöglichen sieeine „Continuous Build“-Methode, dieProbleme schnell aufspürt und denEntwicklern stets eine bekannte undstabile Arbeitsbasis zur Verfügungstellt.

■ Iterative Methoden: Bei agiler Soft -ware-Entwicklung kann es schwierigsein, Tests zu automatisieren und dieErgebnisse innerhalb einer Iterationoder eines Sprints zu erhalten. Häufigsteht nicht ausreichend Zeit zurVerfügung, und der Code ist noch nichtfestgeschrieben. Wie bei den Regres -sions tests hat es sich jedoch als prak-tisch erwiesen, die aktuelle Iterationmanuell zu testen und den Test der vor-herigen Iteration zu automatisieren(siehe Abbildung 2).

■ Stabilere Anwendungen und Kompo -nenten: Es ist wichtig, den Return on

2. Die Automatisierungsphase: Automati -sierung kann das manuelle Testen inder Regel nie komplett ersetzen. DasTest-Team kann jedoch Tests durchAutomatisierung schneller und in grö-ßerer Zahl bewältigen. Da Automati -sierung ermöglicht, bei begrenztenRessourcen mehr Konfigurationen undIterationen zu testen, verbessert sich dieTestabdeckung. Dadurch verringertsich die Gefahr, dass Fehler im Pro -duktivbetrieb auftreten. Damit dieAutomatisierung ihr ganzes Potenzialentfalten kann, sollte sie gezielt einge-setzt werden. Nachstehend einige

automatisch aktualisiert. Mit dieserMethode der „zusammengesetztenTests“ können Zeit und Arbeit beiErstellung und Pflege der Tests gespartwerden. Die damit verbundene Effi -zienz steigerung ergibt sich unabhängigdavon, ob Tests an sich automatisiertsind oder manuell ausgeführt werden.Die Software HP Business ProcessTesting (HP BPT) bietet solch einFramework. Mit Hilfe dieser Lösungkönnen Test-Teams die Anwendungs -qualität erhöhen, da sie weniger Zeitfür die Erstellung und Pflege der Testsaufwenden müssen. Gleichzeitig sinkendie Kosten der Qualitätssicherung trotzregelmäßiger und immer kürzer aufein-anderfolgender Änderungen. Wird dieTeststrategie im Vorfeld mit HP BPTkonzipiert, kann schnell ermittelt wer-den, welche manuellen Komponentensich für die Automatisierung eignen. Inden meisten Fällen werden die Kompo -nenten zunächst als manuelle Tests ent-worfen und dann auf automatischeTests migriert. Als zusätzliche Plus -punkte generiert HP BPT automatischdie Testplandokumentation und erstelltausführliche Verknüpfungen zu denRequirements in HP Quality Center.Gut dokumentierte und organisierteTests sind auch bei späteren Testitera -tionen nützlich, selbst wenn zwischen-zeitlich der Testverantwortliche ge -wechselt hat.

advertorial

3 www.objektspektrum.de

Abb. 1: Zeitaufwand bei Testerstellung und Maintenance durch wiederverwendbareTestkomponenten verringern.

Abb. 2: Die aktuelle Iteration manuell testen und den Test der vorherigen Iterationautomatisieren.

Page 4: Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und

Investment (ROI) der Automatisierungzu analysieren. Die Software HPUnified Functional Testing (HP UFT)verfügt über integrierte Testfunktionen,die es Testern erlauben, Skriptän -derungen in Echtzeit durchzuführen.Bei Anwendungen, die sich noch in derEntwicklung befinden, können vieleSkriptänderungen erforderlich sein.Eine Automatisierung ist dann nichtkosteneffizient.

■ Mobile Anwendungen: Die Vielzahlvon Geräten, Betriebssystemen, Nut -zungs szenarien und Netzzuständen, diebei mobilen Anwendungen Verwen -dung finden, werden heute überwie-gend manuell getestet. Trotzdem kannsich eine Automatisierung dieser Testslohnen. HP UFT unterstützt alle gängi-gen Software-Anwendungen und -Um -ge bungen bei automatisierten Tests. HPUFT umfasst HP QuickTest Profes -sional sowie HP Service Test und HPService Test Management für erweiterteServicetest- und Managementfunk -tionen. Im Bereich der Web 2.0-Anwen -dungen unterstützt HP UFT die wachsende Palette von Web 2.0-Tech -nologien, u. a. Microsoft Silverlight,und die am häufigsten eingesetztenAjax-Toolkits, Google Web Toolkit(GWT), Yahoo! User Interface (YUI),ASP.NET AJAX und Dojo Toolkit. DasWeb-Add-In Extensibility Toolkitermöglicht die einfache Anbindung vonDrittanbieter- und benutzerdefiniertenWeb-Steuerungen, deren Unterstützungvom Web-Add-In nicht „out-of-the-box“ gewährleistet wird.

3. Die Modernisierungsphase: WährendUnternehmen immer häufiger auf auto-matisierte Tests zurückgreifen, werdendennoch rund 75 % aller funktionalenTests weiterhin manuell durchgeführt.Die Tester können bei manuellen Testsjedoch moderne Verfahren anwenden,die ihnen die Arbeit erleichtern und dieZahl der besonders mühsamen und feh-lerträchtigen Aufgaben auf ein Mini -mum reduzieren. Statt von Hand Datenaus einer Tabellenkalkulation abzutip-pen, während Testläufen Notizen zumachen, Ergebnisse in das Testwerk -zeug einzugeben und Tests für verschie-dene Umgebungen und Konfigura -tionen zu wiederholen, kann eineLösung von HP dies vereinfachen – HPSprinter. Dieses Produkt für manuellesTesten dient in erster Linie der Verein -

fachung und Beschleunigung manuellerTests und der Verstärkung der Team -arbeit. Um die Zahl der fehlerträchti-gen Prozesse zu reduzieren, speist HPSprinter Daten aus externen Daten -tabellen automatisch in die zu testen-den Anwendungen ein. HP Sprinterprotokolliert Testfälle aus HP QualityCenter oder HP Application LifecycleManagement (HP ALM) und zeigt sieauf dem Bildschirm mit der zu testen-den Anwendung an. Von dort aus kannder Tester Testschritte anzeigen, Fehlerdokumentieren und an die HP-Qua -litätsmanagement-Lösungen melden,Kommentare hinzufügen und Ist-Er -geb nisse protokollieren. HP Sprinterzeichnet (optional) alle Benutzer -aktionen automatisch in drei Formatenauf: als Text (siehe Abbildung 3), alsSchnappschuss oder als Video. DieTester können diese ausführlichenBeschrei bungen per Mausklick an einenfestgestellten Fehler anhängen. So wer-den Entwickler erheblich einfacherüber die Fehler informiert, die schnelleBehebung der Fehler wird erleichtert.Bei Anwendungen, die überwiegendmanuell getestet werden, bietet HPSprinter Mirror-Testing-Funktionen,mit denen sich Tests mehrfach für ver-schiedene Umgebungen und Konfigura -tionen klonen lassen. Der Testerbraucht so den Test nur einmal auszu-führen, während HP Sprinter ihn aufbis zu vier Computern gleichzeitigrepliziert. Dadurch lässt sich die allge-meine Testproduktivität nachweislichum 50 bis 70 % steigern (siehe

http://www.techvalidate.com/por tals/hp-sprinter). HP Sprinter, HP BPT und HPUFT speichern die Testergebnisse unddie gesamte zugehörige Dokumentationautomatisch in HP ALM oder HPQuality Center. Die Tester und andereBeteiligte können somit alle Tester geb -nisse in einem einzigen Aufzeichnungs -system zu Testfällen, Anforderungenund Fehlern zurückverfolgen.

4. Non-GUI-Testautomatisierungsphase:Bei Composite Applications sollten zurPrüfung der zugrunde liegenden Logiknicht nur GUI-Tests durchgeführt wer-den. Vielmehr muss auch der Service-Layer (auch als Headless-Layer be -zeichnet) direkt getestet werden.Ser vices stehen häufig schon für Testszur Verfügung, während sich die GUInoch in der Entwicklung befindet.Damit kann das Test-Team bereits zueinem früheren Zeitpunkt im Entwick -lungszyklus mit dem Testen und derAutomatisierung beginnen. Dies bringtviele Vorteile mit sich, unabhängigdavon, ob das Team agile Prozesseanwendet oder nicht. Fehler lassen sichauf Komponentenebene genauer lokali-sieren. Und sie lassen sich leichter behe-ben, wenn sie schon kurz nach derDatenübergabe gefunden werden. Einimmer größerer Teil der Geschäftslogikvon Anwendungen liegt im Headless-Layer und wird häufig von mehrerenAnwendungen genutzt. Ein unerkann-ter Fehler in diesen Services kann weit-reichende und unvorhersehbare Folgenhaben. Werden diese Services unabhän-gig von den Anwendungen getestet,

4Online-Themenspecial Testing 2012

Online-Themenspecial Testing 2012 advertorial

Abb. 3: HP Sprinter protokolliert automatisch alle Benutzeraktionen in Textform mitdetaillierter Zeitleiste.

Page 5: Moderne Anwendungen testen – ein Leitfaden€¦ · bereitgestellt wurden, vgl. [For]) sind die wichtigsten Beweggründe für die Anwendungsmodernisierung Agilität, Innovation und

im Unternehmen, binden die Tests in früheLebenszyklusphasen ein und führen explo-rative Tests mithilfe moderner manuellerTestmethoden – inklusive automatischerDokumentation und Berichterstellung –durch. Außerdem beginnen sie mit demTesten der Headless-Layer, bevor die GUIzur Verfügung steht. VorausschauendeTest-Teams suchen nach Möglichkeiten zurAutomatisierung von Tests, wenn dies sinn-voll ist. In Bereichen, in denen weitermanuell getestet wird, beschleunigen sieden Prozess, indem sie aufwändige, sichwiederholende Aufgaben automatisieren,um die Testdauer zu verkürzen. Sie validie-ren Composite Applications vollständig,indem sie den GUI-Layer, den Headless-Layer und den gesamten Prozess vonAnfang bis Ende testen. HP bietet umfas-sende integrierte Funktionstestlösungen,die Sie bei allen Schritten unterstützen. ■

nente um einen geschäftskritischenService oder eine bereits produktiv ein-gesetzte Anwendung handelt bzw. umeinen Cloud-Service, dessen Test hoheKosten verursacht. Die Virtualisierungvon Services ist eine Möglichkeit, einenStillstand der Testprozesse zu vermei-den. Bei der Service-Virtualisierungwird die Service- oder Anwendungs -komponente im Backend des Testssimuliert, und es wird ein virtuellerService erstellt, der das Verhalten unddie Reaktionen des echten Service nach-bildet. Der virtuelle Service kann dannwiederholt für Tests herangezogen wer-den, ohne dass Cloud-Servicegebührenanfallen oder dass es zu einer Störungin der Produktionsumgebung kommt.

ZusammenfassungDamit Test-Teams neue Erwartungen undGeschäftsanforderungen erfüllen können,etwa die Einführung von Cloud Compu -ting, Web 2.0, mobiler IT und CompositeApplications, muss sich die Vorgehensweisebei funktionalen Tests grundlegend wan-deln. Erfolgreiche Test-Teams beginnen denTestprozess frühzeitig im Anwendungs -lebenszyklus. Schon bevor eine Anwen -dung testbereit ist, betrachten sie dasTestproblem ganzheitlich und nehmen sichdie Zeit, ihre Teststrategie zu entwerfen.Diese Strategie beinhaltet den Einsatz einesFrameworks und die Erstellung wiederver-wendbarer Testkomponenten. Die Testerkommunizieren mit den Fachabteilungen

wird das Risiko minimiert und dieQualität der Bausteine einer CompositeApplication verbessert. Nimmt dieZahl der Komponenten zu, empfiehltsich zum Testen mehrschichtigerComposite Applications die Automati -sierung einer kompletten Transaktionüber GUI- und Non-GUI-Kompo nen -ten hinweg. Mit HP UFT können Test-Teams den GUI-Layer, den Headless-Layer und den gesamten Prozessdurchgehend testen. Davon profitiertdie Qualität der Composite Appli -cations, da mehr Funktionen auf allenAnwendungs-Layern getestet werden.So wird es leichter, Fehler zu finden, dieansonsten übersehen worden wären.Bei Cloud-Anwendungen solltenKompo nenten getestet werden, die sichin der Cloud oder in On-Premise-Systemen befinden. Sie können HPSOA Systinet als Metadaten-Reposi -tory verwenden, um sich ein Bild vonden Abhängigkeiten der tatsächlichenund replizierten Anwendungen undServices, einschließlich simulierter Ser -vices, zu machen. Die Kombination vonHP SOA Systinet und HP UFT erlaubtdas durchgehende Testen der Prozessevon Cloud-Anwendungen. Sollte eineKomponente in einer Composite Appli -cation oder einem anderen Testszenarionicht für Tests zur Verfügung stehen,kann es zu Verzögerungen kommen.Dies kann der Fall sein, wenn es sich beieiner gemeinsam genutzten Kompo -

advertorial

5 www.objektspektrum.de

Referenzen

[For10] Clearing Your Path to Modern

Applications and Business Agility, Forrester

Research, 6. April 2010. Ein Thought

Leadership Paper von Forrester Consulting im

Auftrag von HP.

[For11] Forrester, 2011 Mobile Trends,

Thomas Husson und Julie A. Ask, 24. Januar

2011.

Hier können Sie kostenlose Testversionen folgender HP-Lösungen herunterladen:HP Unified Functional Testing.http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957

HP Sprinter.http://www8.hp.com/us/en/software-solutions/software.html?compURI=1173861