Software automatisiert testen mit Testing Suites von der LUVIA

Softwarequalitätsicherung ist ein sehr wichtiger Prozess, der laufend für das fehlerfreie Release sorgt. Dieser wichtige Prozess in der Softwareentwicklung kann aber langfristig teuer sein, solange manuell getestet wird. Jeder manuelle Testlauf bedeutet Allozierung teuerer Ressourcen für repetitive Testtätigkeiten, bei denen oft technische Bugs von Business-Fachpersonen entdeckt und in Bugtrackern reportet werden und somit nicht nur viel Ärger, sondern auch Zeitverschwendung dieser Ressourcen verursacht wird. Mit der Anzahl Retests steigt der Testaufwand nochmal.

Kosten senken dank Testautomatisierung

Automatisiertes Testen kann die Kosten jeder Testphase langfristig erheblich senken und entlastet wichtige Schlüsselpersonen vom Business, die nicht mehr für Testing eingesetzt werden müssen. Mit der Testautomatisierung werden von unseren Beratern schlüssige Geschäftsprozesse zu Testcases umgewandelt und diese mit einem Testautomatisierungsframework abgedeckt. Nachfolgend werden die Tests nur noch automatisiert ausgeführt, wobei der Scope gleich bleibt wie bei manuellem Testing. Ganz ohne Testressourcen kann man somit – so oft wie man will – auch komplexe Testabläufe schnell und ohne Personalaufwand durchführen.

Das wichtigste der Testautomatisierung

  • Laufzeit einer Testiteration im Minutenbereich
  • durchgeführt ohne einer Reihe von Testressourcen bei jedem Release
  • mit sofortigem Fehlerreporting an das Softwareentwicklungsteam
  • mit nachvollziehbaren Testprotokollen, generiert zu jedem Release
  • Verhinderung von menschlichen Fehlern
  • alles gleichwertig wie beim manuellen Testen, aber schneller, zuverlässlicher, günstiger und sauber berichtet

Eine Testautomatisierung von Software führen wir in enger Zusammenarbeit mit den Geschäftsexperten der Kunden durch, damit wir das Expertenwissen in unsere Testframeworks integrieren können. Es werden gezielt die für das Geschäft kritischen Testfälle definiert und diese mit entsprechenden Tools und Testframeworks automatisiert, damit deren Ausführung schnell, deterministisch und so oft wie man will auf Knopfdruck möglich ist. Diese erhebliche Entlastung ist direkt proportional mit der Release-Frequenz und somit spielt die Automatisierung der Click Tests eine wichtige Rolle bei der Effizienzsteigerung und Kostenoptimierung.

Wie viel kostet Testautomatisierung

Die Kosten für die Testautomatisierung sollten nicht die Kosten für manuellen Testaufwand übersteigern. Denn für solche Fälle ist die Testautomatisierung nicht gedacht. Die Testautomatisierung wird dann relevant, wenn langfristig wiederholende Testphasen vorgesehen sind, bei denen immer wieder die selben Geschäftsfälle mit manuellen Clicktests durchgespielt werden. Solches Vorgehen explodiert aufgrund von dauernder Ressourcenauslastung in Kosten und somit kommt Kostenoptimierung mit Testautomatisierung in Frage.

Die Gesamtkosten für eine Testautomatisierung lassen sich mit keinem pauschalen Kostenrechner berechnen, weil jeder Fall spezifisch ist und auch nicht immer die Testautomatisierung Nutzen bringt. Deshalb erlauben wir uns keine spekulativen Kosten anzugeben, denn diese wären weder fallspezifisch noch auf Ihre Situation abgestimmt. Wir bevorzugen deshalb eine profesionelle Businessanalyse, bei der wir:

  • die Vorteile der Testautomatisierung individuell beurteilen,
  • eine Machbarkeitsstudie auf Ihren Softwaretools durchführen und anschliessend mit einem Prototypen die Vorteile der Testautomatisierung in Ihrem Umfeld präsentieren,
  • basierend auf der Analyse Ihrer Softwaretools und auf der Machbarkeitsstudie werden wir einen Projektplan ausarbeiten, der exakt auf Ihre Situation abgestimmt ist und den geschätzten Implementierungsaufwand spiegelt.

Nur so kann man eine realistische Kostenschätzung machen, die auch Lösungen für unvorsehbare Stolpersteine miteinberechnet und somit zu keiner falschen Erwartung führt. Im Falle, dass die Testautomatisierung für Sie nicht vom Vorteil, oder aufgrund von technischen Stolpersteinen nicht oder mit unakzeptablen Aufwand machbar wäre, werden wir Sie seblstverständlich noch vor dem Implementierungsbeginn kompetent beraten und effizientere Lösungen anbieten.

Continuous Integration und Automatische Clicktests

Continuous Integration stellt bei guter Umsetzung bereits viele präventiven Fehlerminimierungsmechanismen zur Verfügung. Was aber oft nicht mit am Board ist, sind automatische Clicktests, die von Experten festgelegte Use Cases in einer deployten Software wie ein echter Benutzer durchklicken und überprüfen, ob diese:

  • bis zum Schluss durchgeführt werden können
  • das korrekte und erwartete Ergebnis in der GUI ablesbar ist

Somit lassen sich kontinuierlich Probleme der folgenden Natur vermeiden, denn es werden im Kontrast zu den Unit Tests alle Use Cases mittels der GUI getestet:

  • wegen einem GUI Bug lässt sich der Bestellknopf nicht drücken, weil dieser deaktiviert ist -> Bestellung kann nicht abgeschlossen werden
  • ein Javascriptfehler validiert die Benutzereingaben nicht mehr und somit lässt die GUI auch fehlerhafte Eingaben zu
  • eine bekannte Materialkonfiguration wird nicht mehr akzeptiert, weil die Konfiguration im ERP System falsch bearbeitet wurde

Die automatisierten Clicktests können also auch Fehler in integrierten Systemen herausfinden, da die Clicks in einer deployten Instanz der Software inklusive Umsysteme abgesetzt werden. Somit testet man das gesammte Ökosystem und stellt auch die Durchführung der kritischen Use Cases sicher.

Continuous Integration mit der Clicktestkomponente prüft nach jeder Codeänderung gegen die Erwartungen der Businessexperten und meldet jegliche Abweichungen direkt bei dem Entwickler, der diese verursacht hat, bis er diese korrigiert. Danach bestätigt das System die Behebung des Use Cases und garantiert somit, dass keine Fehler auch in grossen Softwareentwicklungsteams übersehen werden.


Copyright © 2018 · LUVIA GmbH · Zürich · www.luvia.ch

IT Consulting im Bereich der Softwareentwicklungsprozesse