VERANSTALTUNGEN

IT-Sourcing 2018
03.09.18 - 04.09.18
In Hamburg

DILK 2018
17.09.18 - 19.09.18
In Düsseldorf

abas Global Conference
20.09.18 - 21.09.18
In Karlsruhe

it-sa 2018
09.10.18 - 11.10.18
In Nürnberg

Digital Marketing 4Heroes Conference
16.10.18 - 16.10.18
In Wien und München

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
Tb W190 H80 Crop Int 17b1ee0023b79297c73bbdfd2cfff860

Neue ISMS-Software INDITOR ISO von Contechnet

Der deutsche Softwarehersteller Contechnet veröffentlicht die neue Version seiner…
Tb W190 H80 Crop Int 9445048e0180f2f03856c3ee718783e1

Neue Version von InLoox 10

InLoox hat seine Projektmanagement-Lösung in einer neuen Version auf den Markt gebracht.…
Tb W190 H80 Crop Int C642ab343b9d4c6ebbd4ac47bfb56451

Commvault vereinfacht Portfolio mit Komplettlösung

Commvault (NASDAQ: CVLT) simplifiziert sein Portfolio sowie seine Preisgestaltung, um den…
Tb W190 H80 Crop Int C7ec4121533b0efd43b60d6b621b8f97

MapR Update mit AI- und Analyse-Unterstützung

Das Major-Plattform-Update von MapR umfasst wichtige Innovationen, welche die Data Fabric…
Tb W190 H80 Crop Int Fda2273b8197dcd0b3a63df08c93c2b1

Etikettensoftware: Für jeden Zweck das richtige Produkt

Etiketten sind in Handel und Logistik unersetzlich. Sie ermöglichen die eindeutige…
Tb W190 H80 Crop Int Edfb0446c4d7b02ec6e9e4f9acaf3aad

Neues Release von iFinder5 elastic

IntraFind präsentiert die Version 5.2 von iFinder5 elastic. Die zentrale Neuerung der…
Smarte News aus der IT-Welt

IT Newsletter


Hier unsere Newsletter bestellen:

 IT-Management

 IT-Security