Swiss Testing Day 2010: Cognizant zeigt acht Schritte zur erfolgreichen Automatisierung von Softwaretest-Prozessen

Unternehmen, die Softwaretests automatisieren, sparen dabei Zeit und erhöhen die Ergebnisqualität. Allerdings ist Automation nicht gleich Automation: Experten von Cognizant, einem führenden Anbieter von Beratungs-, Technologie- und Business Process Outsourcing (BPO)-Services, erklären, wie Unternehmen die Testautomatisierung erfolgreich gestalten können.
 
Softwaretests schneller, zuverlässiger und effizient durchführen
«Ziel der Automatisierung ist es, Softwaretests schneller, zuverlässiger und effizient durchzuführen», sagt Stefan Metzger, Country Managing Director von Cognizant Schweiz. «Da jedoch die Einführungskosten für Automations-Tools und der Implementierungsaufwand hoch sind, lohnen sich automatisierte Tests nur dann, wenn langfristige Kosteneinsparungen die Erstausgaben übersteigen. Außerdem gibt es eine Vielzahl an Methoden und Funktionen von Automations-Werkzeugen, die für jedes Projekt individuell angepasst werden müssen. Unternehmen sollten daher bei der Planung wichtige Schritte beachten, um den Return on Investment (RoI) zu erhöhen und die Software-Qualität zu verbessern.»


Cognizant zeigt acht Schritte zur erfolgreichen Automatisierung auf:


1.nbsp; Verfügbarkeit geschäftskritischer Prozesse gewährleisten: Die geschäftskritischen Funktionalitäten der Anwendung müssen auf jeden Fall fehlerfrei zur Verfügung stehen. Die Möglichkeit, diese auch nach Notwendigkeit unmittelbar vor der Einführung zu testen ist ein wesentlicher Vorteil, der ausschließlich durch Automation zu erreichen ist. Anschließend kann das Testteam die ausgewählten Prozesse und Aktivitäten technisch bewerten. Dabei kommt es darauf an zu verstehen, welche Faktoren die Automatisierung erschweren. Denn nur so lassen sich Kosten und Nutzen gegenüberstellen. Für die Automatisierung geeignet ist beispielsweise Code, der große Datenmengen verarbeitet, wiederkehrende Prozesse ausführt oder in verschiedenen Applikationen verwendet kann. Zudem sollten Experten abwägen, wie einfach sich die Methode technisch umsetzen lässt. Dabei sollten sie auch Kriterien beachten wie die Testfrequenz, Wiederverwertbarkeit von Testkomponenten, benötigte Ressourcen, Komplexität der Tests, Testzeit und die Möglichkeit, Tests in multiplen Browsern und Umgebungen umzusetzen.


2.nbsp; Test-Werkzeuge selektieren: Da sich automatisierte Tests nur lohnen, wenn sie über mehrere Jahre hinweg genutzt werden, sollten Unternehmen die Test-Werkzeuge gewissenhaft wählen. Um eine nachhaltige Nutzbarkeit zu gewährleisten, sollten diese multiple Test-Typen, Testframeworks und Plattformen unterstützen sowie Objekte erkennen, die in den verschiedensten Programmiersprachen erstellt wurden. Zudem sollten die Tools einen minimalen manuellen Aufwand erfordern und sich bei Applikationsfehlern automatisch wiederherstellen, um Testunterbrechungen zu vermeiden. Die Test-Werkzeuge sollten auch eine starke Skriptsprache enthalten, damit sich Skripts einfach entwickeln und über verschiedene Plattformen und Testarten hinweg wiederverwenden lassen.


3.nbsp; Testprozess verfeinern: Unternehmen sollten die Risiken aktueller Methoden abwägen und prüfen, wie die Tests kostengünstiger, schneller und effizienter durchführbar sind. Zudem sollte das Management mit den Testing-Mitarbeitern eng zusammenarbeiten. Das Management sollte das Team nicht nur finanziell unterstützen, sondern auch Trainings fördern und den Weg für veränderte Arbeitsprozesse frei machen. Die Prozessverbesserungen sollten je nach Geschäftszielen priorisiert werden. Testprozesse fortlaufend zu messen hilft, die Kontrolle zu behalten und einen höheren RoI zu erreichen.


4.nbsp; Framework wählen: Ebenso wie die Tools sollten Unternehmen das Framework sorgsam selektieren. Es sollte langfristig wiederverwendbar sein und effizient laufen. Parameter sollten für Testskripts und Testdaten einstellbar sein. Es gibt Daten- und Keyword-basierte Frameworks, die jeweils Vor- und Nachteile mit sich bringen. Ideal ist die Kombination beider Ansätze in einem hybriden Framework, das die jeweils besten Elemente nutzt.


5.nbsp; Den manuellen Aufwand nicht unterschätzen: Sobald das Wort «Automation» fällt, wird häufig der manuelle Aufwand unterschätzt, der bei der Einrichtung von automatisierten Testprozessen nötig ist. Mitarbeiter müssen die Maschinen einrichten, die Testskripts erstellen, die Testmethoden auswählen, die Ergebnisse auswerten und die Fehler beheben. Die Einberechnung der Kosten, die daraus entstehen, sind wichtig für die Budgetierung, Planung und die akkurate RoI-Kalkulation.


6.nbsp; Skripts beobachten: Das Testteam sollte für spezielle Situationen standardisierte Abläufe einführen. Das ist beispielsweise bei der Wiederherstellung eines Skripts wichtig, nach einem Fehler der getesteten Applikation oder bei unerwarteten Vorkommnissen wie dem Erscheinen eines Pop-Up-Fensters. Auch bei der Fehlerprotokollierung erleichtern Standardabläufe die Arbeit bei der Analyse und Fehlerbehebung. Standards bei der Dokumentierung erleichtern die Kommunikation im Team ? so können Kollegen die Skripts anderer auf einen Blick verstehen.


7.nbsp; Festlegen, wer die Tests durchführt: Die erforderlichen manuellen Schritte zur Test-Automation sollte von qualifizierten und erfahrenen Mitarbeitern durchgeführt werden, um unerwartete Ausfälle, Verzögerungen und überhöhte Kosten zu vermeiden.


8.nbsp; Erfolg messen: Tools wie die Automated Execution Efficiency Ratio (AEER) evaluieren, wie effektiv die Tests laufen. Dazu analysieren sie den Aufwand der Mitarbeiter sowie den Gesamtaufwand, der für die Durchführung der automatisierten Tests nötig wird. Es gibt allerdings noch weitere Parameter, es zu beachten gilt: Unternehmen sollten sicherstellen, dass sie durch die automatisierten Prozesse einen höheren Prozentsatz an Fehlern finden, die Testzeit reduzieren, die Markteinführungszeit verkürzen, die Kundenzufriedenheit erhöhen und die Produktivität durch eine verbesserte Applikationsqualität erhöhen.


«Die Automatisierung von Softwaretests ist nicht so einfach oder schnell wie sie klingen mag», so Stefan Metzger weiter. «Tools können teuer sein und ihre Einrichtung und Nutzung sowie die anschließende Analyse erfordern einen hohen manuellen Einsatz. Mit den richtigen Werkzeugen wie Open Source-Software und den passenden Prozessen und Frameworks lässt sich das erreichen, wofür es Automatisierung gibt: Kosteneinsparungen und eine gesteigerte Qualität.»


(Cognizant/mc/hfu)





Über Cognizant
Cognizant (NASDAQ: CTSH) ist ein führender Anbieter von Informationstechnologie, Beratungsleistungen und Geschäftsprozess-Outsourcing (BPO). Cognizant richtet sein globales Technologie- und Innovations-Know-how, sein Branchenwissen und seine weltweiten Ressourcen konsequent darauf aus, Kunden in deren Kerngeschäft zu stärken.


Mit über 50 Niederlassungen weltweit und mehr als 68.000 Mitarbeitern (Stand: Ende September 2009) bietet das Unternehmen ein einzigartiges globales Liefermodell, in dessen Mittelpunkt eine ausgeprägte Kundenorientierung steht. Als Mitglied der Indizes NASDAQ-100 und S&P 500 gehört Cognizant zu den Forbes Global 2000- und Fortune 1000-Unternehmen. Cognizant ist laut Business Week eines der wachstumsstärksten Top IT-Unternehmen sowie unter den Top 50 Performern platziert. In der Schweiz hat Cognizant seinen Hauptsitz in Zürich sowie eine Niederlassung in Genf. Mehr erfahren Sie unter www.cognizant.com

Schreibe einen Kommentar