Hannover Messer 2018
23.04.18 - 27.04.18
In Hannover

Rethink! IT Security D/A/CH
25.04.18 - 27.04.18
In Hotel Atlantic Kempinski Hamburg

CEBIT 2018
11.06.18 - 15.06.18
In Hannover

ERP Tage Aachen
19.06.18 - 21.06.18
In Aachen

next IT Con
25.06.18 - 25.06.18
In Nürnberg

SERIE
Automated Software Testing

Seit 2014 gibt es den offiziellen Testautomatisierungs-Ansatz A2A, der zwischenzeitlich in über 30 Kundenprojekten im Einsatz ist. Entwicklet wurde die Methodik bei Anecon, mittlerweile Teil der Nagarro Group, als Ergebnis aus 15 Jahren Praxiserfahrung in der Testautomation.

Herausforderungen in IT-Projekten fordern, dass man sich selbst und seine Werkzeuge ständig weiterentwickelt. Sind Sie neugierig, was so alles an neuen Themen rund um Testautomation auf dem Radarschirm ist? Dann lesen Sie hier weiter!

A2A.TA heute

Zunächst ein kurzer Rückblick, was sich seit dem Launch von A2A im Oktober 2014 getan hat:

  • Es wurden Lösungen für nachhaltige, lesbare und effiziente Regressionstests geschaffen.
  • Das Portfolio an Werkzeugintegrationen ist stetig gewachsen und integriert mittlerweile viele Technologien und Schnittstellen.
  • Die Reporting-Engine liefert nachvollziehbare und übersichtliche Ergebnisreports, direkt in den Testmanagement-Systemen der Kunden.
  • Testdatenmanagement, Testumgebungsmanagement und Service Virtualisierung sind feste Bestandteile des Vorgehens geworden.
  • Testartefakte sind in vielen Projekten fixer Bestandteil nicht nur des Vorgehens, sondern auch des Lieferobjekts.
  • Zu Technologien für Continuos Integration, Continuous Delivery und Continuous Deployment wurden auch Continuous Testing und Lösungen für DevOps Organisationen beigesteuert.

All diese Bausteine und noch mehr sind nicht nur Teildes Ansatzes, sondern kommen in jedem Testautomatisierungsprojekt direkt quasi im Werkzeugkoffer mit. Damit ist eine solide Basis für gewinnbringende Testautomatisierung gelegt.

Was bringt die Zukunft?

Im Folgenden geben wir einen kleinen Überblick über einen Auszug der Themen, die uns alle beschäftigen, und mit denen wir uns derzeit und in den nächsten Jahren intensiv auseinandersetzen werden. Einige dieser Themen werden intern entwickelt – andere in konkreten Kundenprojekten aufgesetzt. Diese Lösungen werden in den nächsten Monaten Teil eines offiziellen A2A-Packages werden und damit für alle Anwender verfügbar sein.

Mehrdimensionale Analysierbarkeit von Testergebnissen

Testautomatisierung liefert dann Mehrwert, wenn sie häufig durchgeführt wird. Doch gerade dann muss sie robust sein, um zuverlässige Ergebnisse zu liefern. Doch auch wieder nicht zu robust, damit alle relevanten Auffälligkeiten auch gefunden werden können.

In jedem Fall fordern fehlgeschlagene Testfälle eine Analyse der Fehlerursache. Und darin liegt, neben Wartungsaktivitäten, der Löwenanteil der Aufwände für Testautomatisierung im laufenden Betrieb. Es ist ein Kostenmultiplikator, da es üblicherweise hunderte oder tausende von Testfällen gibt, die alle das Risiko haben, fehlzuschlagen. Daher lohnt es sich, in die Analysierbarkeit der Testläufe zu investieren.

Gute Testautomatisierung liefert bereits jetzt detaillierte Informationen über die Testdurchführung: ein Log mit den fachlichen und technischen Testschritten, Screenshots und Videomitschnitte der Testdurchführung sind mittlerweile Standard in den meisten Tools.

Doch wir wollen weitergehen, um ein vollständigeres Bild des Testlaufs zu bekommen, zum Beispiel:

  • Wie ging es während der Durchführung der Client-Maschine? Der Prozessorauslastung? Dem Speicher?
  • Wie ging es den Servern? Waren sie verfügbar? Was stand zum Zeitpunkt des Laufs in den Logfiles? Exceptions? Auslastung? Reaktionszeiten?
  • Wie sah während der Durchführung das Netzwerk aus? Gab es Aussetzer? Reduzierten Throughput?
  • Gab es Wartungsfenster, die unseren Lauf beeinflusst haben?
  • Wie sahen im Vergleich die letzten X Testläufe aus? Gibt es „Dauerbrenner“ oder „Wackelkandidaten“? Hat sich die Geschwindigkeit verändert?
  • Welche Changes gab es in der aktuellen Version der Applikation gegenüber dem letzten Lauf?
  • Welche bekannten Issues gibt es, die unseren Lauf beeinträchtigen könnten?

Wir widmen uns also dem Aggregieren und Übereinanderlegen von vielen Informationen aus unterschiedlichen Quellen, um nicht nur die Perspektive der Testautomatisierung selbst, sondern ein umfassendes Bild der Testdurchführung zu erhalten, und dadurch schneller und zielgenauer Fehlerquellen und Beeinträchtigungen identifizieren zu können. Dadurch sparen wir nicht nur Analyseaufwand bei jedem einzelnen fehlgeschlagenen Testfall, sondern können auch grundlegende Probleme deutlich besser und schneller erkennen und beseitigen – sowohl in der Automatisierung als auch im getesteten Produkt.

Property Based Testing

In der Regel bestehen automatisierte Tests aus einem Ablauf, den erwarteten Ergebnissen und Testdaten. Es ist also eine Sequenz von Aktionen und Verifikationen, die automatisch durchgeführt wird, um das Verhalten der Applikation gegen die Erwartungen des Test-Designers zu überprüfen. Doch es gibt auch andere Formen, um das Verhalten von Applikationen zu beschreiben – und einige davon können automatisch geprüft werden. Als Beispiel wollen wir kurz „Property Based Testing“ vorstellen.

Diese Testmethode besteht nicht, wie klassische Testfälle, aus Ablauf, Erwartungen und Daten, sondern nutzt Aussagen über das Testobjekt, um dieses automatisch zu prüfen.
Ein Beispiel: Die Filterung von Datensätzen in einer Kundentabelle.

Nehmen wir die folgende Tabelle an:

| Registrierungsdatum | Name |
| 01.01.2017 | Martina Musterfrau |
| 03.05.2015 | Max Mustermann |
| 23.07.1981 | Peter Tester |

Wir definieren nun eine Funktion, die eine solche Liste filtern soll, und zwar nach dem Registrierungsdatum. Es gibt die Parameter Datum, und als Filter-Modus „größer“, „kleiner“ und „gleich“.

Ohne auf die spezifische Funktionalität einzugehen, können wir bereits Erwartungen an diese Funktion (und damit an deren Ergebnis) beschreiben.

Einige dieser Erwartungen:

  • Im Ergebnis sind gleich viele, oder weniger, Datensätze, als in der Ursprünglichen Tabelle.
  • Im Ergebnis gibt es keine Datensätze, die nicht in der ursprünglichen Tabelle enthalten waren.
  • Das Ergebnis enthält keine Duplikate.
  • Die Datensätze sind im Ergebnis so sortiert wie in der ursprünglichen Tabelle.

Daher bauen wir für Aussagen dieser Art einen automatisierten Baukasten an Überprüfungen auf, die wir dann auf Elemente des zu testenden Systems anwenden können (also etwa Masken, Webservices, Jobs, Datenbanken, etc.). Damit können wir auch ohne „exaktes“ Test-Design und Soll-Ergebnis eine Aussage darüber treffen, ob das Verhalten den spezifizierten Kriterien entspricht.

Hochgradig skalierbare und Enterprise-orientierte Testautomatisierung

Testautomatisierung in großen und heterogenen Landschaften ist an sich bereits eine Herausforderung. Asynchrone Aktionen in der zu testenden Systemlandschaft machen schnelle und zuverlässige Testdurchläufe schwierig. Eine hohe Anzahl von Testfällen kann zu schwerfälligen und langläufigen Testdurchführungen führen.

Servicevirtualisierung, Testumgebungsmanagement und Continuous Delivery helfen uns bereits dabei, gezielte und umfassende Tests durchführen zu können.

Doch was gibt es darüber hinaus zu tun? In diesem Themenkontext befassen wir uns unter anderem mit:

  • Parallelisierung von Testdurchführungen zur Reduktion der Gesamtlaufzeit
  • automatisches Testen von asynchronen und langläufigen Aktionen (z.B. Queues, Jobs, etc.)
  • Wiederverwertung von Testautomatisierungsartefakten in anderen Projekten und im Systemintegrationstest
  • Über Organisationen und Organisationseinheiten verteilte Testdurchführung, in unterschiedlichen Netzwerken und Unternehmen
  • Rasches Setup von neuen Testautomatisierungsprojekten – technisch und organisatorisch

All diese Aspekte sind wichtig für Unternehmen mit komplexen und heterogenen Systemlandschaften – aber auch für Unternehmen, die auf Microservice-Architekturen setzen. Und damit ist dieses Thema hoch-relevant für viele unserer Kunden, und daher für uns ein starker Fokus.

In Teil 2 des Artikels werden wir uns mit den folgenden spannenden Themen beschäftigen: Fuzzy Testing, Machine Learning und automatisiertes Accessibility Testing.

Thomas Steirer, Anecon Software Design und Beratung GmbH

Thomas SteirerNach Abschluss seines Studiums Informatik/Computational Intelligence an der TU Wien legte Thomas Steirer seine Schwerpunkte vor allem auf Testautomatisierung, Test-Tool-Evaluierung, Testframework-Entwicklung und Testmanagement. Der Test-Experte arbeitet in Wien bei Anecon, die Teil der Nagarro Group ist.

 

 

Mobile World
Jan 24, 2018

Business-Apps entwickeln - aber richtig

Immer mehr Unternehmen entdecken die Vorteile von Apps im Geschäftskundenumfeld für sich.…
Elefant
Nov 13, 2017

Systematischer Testaufbau und Testdurchführung

Um die in Teil 1 angesprochene, während der Pressekonferenz eingetretene, Verlangsamung…
Software
Jun 14, 2017

Softwareentwicklung: Automatisierung steigert Qualität

Digitalisierung heißt zuallererst: Anders denken lernen. Die digitale Transformation…
GRID LIST
API

14 Tipps zur Absicherung von APIs

APIs (Application Programming Interfaces) sind ein zweischneidiges Schwert für moderne…
Tb W190 H80 Crop Int E6eb987ac8d57cbea98537b512f5c035

Die Open-Source-Falle beginnt bei den Lizenzbedingungen

Die Euphorie rund um das 20-jährige Open-Source-Jubiläum ist groß. Allerdings ist nicht…
Georg Baumgartner

Trendstudie DevOps 2017

Haupthindernis für die Einführung von DevOps ist laut Umfrage fehlendes Knowhow im…
Tb W190 H80 Crop Int 241ba4ad44dbfe73a4993738acb306b7

ownCloud erhält Delta Sync-Technologie

Mit „Delta Sync” bietet ownCloud zukünftig eine Technologie, die die Synchronisierung von…
Microservices

Parasoft Lösungen vereinfachen das Testen von Microservices

Parasoft, Anbieter von automatisierten Software Testing Technologien, präsentiert neue…
Tb W190 H80 Crop Int 9cc0f78c8e26d024ae4e442e61f01e6b

Polaris: SaaS-Plattform für Datenmanagement-Anwendungen

Rubrik, spezialisiert auf Cloud Data Management, stellt Polaris vor: die branchenweit…
Smarte News aus der IT-Welt

IT Newsletter


Hier unsere Newsletter bestellen:

 IT-Management

 IT-Security