SMARTER mit Tricentis Tosca®

Photo by Angelyn Sanjorjo on Unsplash, aufgerufen am 20.07.2021

Photo by Angelyn Sanjorjo on Unsplash, aufgerufen am 20.07.2021

 

In unserem Insight Continuous Testing: Effizienzsteigerung durch Automatisierung und KI haben wir über die Dringlichkeit informiert, Testprozesse an die gestiegenen Anforderungen der agilen Softwareentwicklung anzupassen. Testautomatisierung ist der unvermeidliche Schlüssel zum Erfolg, u.a. da kostspielige End-to-End Testfälle durch modularisierte, funktionsbasierte Testfälle ersetzt werden.

In diesem Insight stellen wir beispielhaft das Testmanagement Tool Tricentis Tosca® vor, dessen SMARTER-Ansatz einen intuitiven und benutzerfreundlichen Zugang zur Automatisierung von Funktions- und Regressionstests darstellt. SMARTER steht für Scan, Model, Arrange, Run the Test, Evaluate und Reuse.

Balken rot - kleiner Test.png

Testautomatisierung

Skriptloses automatisiertes Testen ist eine Methode zur Erstellung automatisierter Testfälle, die keine Programmierkenntnisse erfordern. Ziel ist es, die Testfälle so zu strukturieren, dass sie leicht wiederverwendet werden können. Dank dieser Flexibilität können Testfälle analog zu dynamisch veränderlichen Geschäftsbedingungen angepasst und Geschäftsrisiken gezielt minimiert werden.

Automatisiertes Testen ist im Vergleich zum manuellen Testen einfacher und schneller durchzuführen. Manuelle Tests sind ressourcenintensiv und zeitaufwendig. Zudem erfordert die hohe Geschwindigkeit agiler Methoden immer umfangreichere und effizientere Tests in immer kürzeren Frequenzen. Da dies mit menschlichen Ressourcen fast gar nicht darstellbar ist, muss auf Automatisierung zurückgegriffen werden. Je intuitiver die Automatisierungssoftware zu bedienen ist, desto mehr Menschen können sie effizient nutzen und automatisierte Tests gestalten. Durch Automatisierung steigt die Anzahl der ausführbaren Tests um ein Vielfaches, denn eine Maschine kann mehrere Nutzer gleichzeitig simulieren und so die Ausführungszeit pro Test verringern.

Abbildung 1: Risikobasiertes Testen mit Tosca® Quelle: Tricentis GmbH, modifiziert durch Finbridge

Abbildung 1: Risikobasiertes Testen mit Tosca®
Quelle: Tricentis GmbH, modifiziert durch Finbridge

Eine effiziente Testautomatisierungsstrategie sollte alle Ebenen einer modernen Unternehmens-IT-Architektur berücksichtigen. Eine Anwendung besteht in der Regel aus drei Ebenen [1]:

  • Präsentationsschicht: Das Graphical User Interface (GUI) ist das, was der Nutzer sieht, wenn er ein Programm bedient. Es macht eine Anwendung mittels grafischer Symbole und Elemente sichtbar und für den Nutzer bedienbar.

  • Logikschicht: dient der maschinellen Kommunikation der Software mit anderen Programmen mittels Application Programming Interfaces (APIs). Eine Programmierschnittstelle enthält die Geschäftslogik einer Anwendung und ermöglicht es auf die Software technisch über ein Skript zu bedienen.

  • Datenschicht: Zentraler Ort, an den Daten aus mehreren Quellen zusammengeführt und verwaltet werden.

EINFÜHRUNG IN TRICENTIS TOSCA®

Tricentis Tosca® ist ein Testmanagement Tool für die automatisierte Durchführung von Funktions- und Regressionstests. Dank des modularisierten, skriptlosen Ansatzes können auch Anwender ohne weitreichenden Programmierkenntnisse zur Testautomatisierung beitragen, da Tosca® weitestgehend über drag & drop bedienbar ist.

Das IT-Marktforschungsunternehmen Gartner hat Tricentis im Jahr 2019 erschienenen Report „Magic Quadrant for Software Test Automation“ bereits zum fünften Mal in Folge als „Leader“ für Testautomatisierung ausgezeichnet [2].

Wie funktioniert Tosca®? Die SMARTER – Formel zeigt wie Tosca funktioniert und wo die Vorteile liegen.

In einem ersten Schritt werden die automatisiert zu testenden Komponenten gescannt (Scan). Jeder Scan wird nun modelliert (Model). Das heißt, es werden die steuerbaren und validierbaren Elemente festgelegt und die möglichen Eingabeparameter bestimmt.

Abbildung 2: Die SMARTER-Formel von Tosca® Quelle: Finbridge

Abbildung 2: Die SMARTER-Formel von Tosca®
Quelle: Finbridge

Das Test Tool verwendet Szenarien, Skripte und Werte, in denen die modellierten Scans zu Testfällen arrangiert werden (Arrange). Stellen Sie sich einmal vor, Sie möchten von Frankfurt nach München kommen.

  • Das Szenario ist Ihr Plan, von Punkt A (Frankfurt) nach Punkt B (München) zu gelangen. Im Kontext der Testautomatisierung definiert ein Szenario, was zu testen ist.

  • Testskripte entsprechen der Routenführung. Hier wird vorgegeben, wie getestet werden soll. Nach München kommt man mit dem Auto oder dem Bus, der Bahn oder dem Flieger. Der Plan wurde in kleinere, konkretere Teile aufgespaltet.

  • Werte entsprechen den vielzähligen Entscheidungen und Aktionen, die auf der Route getroffen werden. Jede neue Aktion wird als Wert erfasst. Nehme ich lieber den Kombi oder doch das Cabrio? Fahre ich über Nürnberg oder über Stuttgart? Was mache ich bei Stau auf der Strecke – fahre ich die nächste Abfahrt runter oder bleibe ich auf der Autobahn?

Ist der Test definiert, so kann dieser ausgeführt werden (Run the Test). Tosca spielt selbstständig die festgelegten Szenarien durch und validiert, ob das Ergebnis mit der Erwartung übereinstimmt und bewertet, ob ein Test den Erwartungen entspricht (Evaluate).

Balken rot 2.PNG

Besonders beim automatischen Generieren von Testwerten lassen sich durch Automatisierung erhebliche Effizienzsteigerungen erzielen. Anstelle, dass manuelle Fachtester für jede Routenabweichung oder für jede Autobahnausfahrt neue Testfälle definieren, werden diese automatisch von Tosca® erstellt und dokumentiert.

Robo - angepasst.png

Das Test Tool funktioniert über ein Baukastensystem: Die einzelnen Bausteine, bzw. Testelemente, lassen sich jeweils individuell zusammensetzen. Dies ermöglicht es auch bereits erstellte Module in anderen Tests erneut zu verwenden (Reuse).

Anwendungsfall: GUI

Der erste Anwendungsfall betrifft die Automatisierung von GUI Tests, die beispielsweise das Testen von Webanwendungen umfasst. Der Schwerpunkt beim GUI-Testen liegt auf der Funktionalität und der richtigen Darstellung der Designstruktur. Es werden die verschiedenen Bedienelemente eines Interface überprüft, nicht jedoch der Quellcode. Die Eingabe und Validierung der Testfälle ist nah am Nutzerverhalten. Testfälle basieren auf individuellen User Stories.

Das Test Tool erzeugt automatisch eine Log-Datei für jeden ausgeführten Test. Zu sehen ist auch der Ausführungsstatus der einzelnen Testfälle anhand einer intuitiven Farbcodierung, sowie die benötigte Ausführungszeit.

Balken rot 4 - angepasst.png

Anwendungsfall: API

Der zweiten Anwendungsfall betrifft die Automatisierung von API Tests. Der Zweck ist es, die Funktionalität, Zuverlässigkeit und Leistung der zu testenden Anwendung über die Programmierschnittstellen zu überprüfen.

Die Vorteile automatisierter API Tests im Vergleich zu automatisierten GUI Tests sind unter anderem:

  • „Shift-left“: Die API einer Anwendung wird oft vor der GUI entwickelt. Tests können daher früher in jedem Entwicklungszyklus ausgeführt werden.

  • Umfang & Geschwindigkeit: Es ist möglich, mehrerer API-Tests in kürzerer Zeit durchzuführen. Während die Ausführung von 100 äußerst umfangreichen GUI Tests gut 20 Stunden dauern kann, können die gleiche Anzahl an API Tests innerhalb weniger Minuten ausgeführt werden. So können mehr Fehler in kürzerer Zeit gefunden und behoben werden.

Tosca® unterstützt verschiedene Protokolle und Formate, wie z.B. SOAP, RESTful-APIs (Swagger). Darunter auch banktypische Formate des Zahlungsverkehrs wie SEPA, SWIFT und ISO 20022. Zudem lassen sich bereits erstellte Tests in das Test Tool importieren. Auch wird die Zusammenarbeit zwischen Entwickler und Testern im Zuge der Qualitätssicherung gefördert. Wenn Entwickler ihre APIs Plausibilitätstest unterziehen, starten sie damit gleichzeitig den API-Testprozess. Das API-Scan Tool konvertiert die Request/Response Paare automatisch in Tosca®-lesbare Testfälle.

Anwendungsfall: Data Warehouse

Der dritte Anwendungsfall betrifft Data Warehouse (DWH) Tests. Unternehmen verlassen sich auf Daten und Business Intelligence (BI), um optimale Strategien zu entwickeln und Geschäftsprozesse zu optimieren.

Die meisten operativen Entscheidungen – zum Beispiel die Berechnung von Zinszahlungen oder die Ermittlung von Rabatten – hängen von der Integrität der zugrunde gelegten Daten ab. Schafft es ein Unternehmen in Echtzeit, seine Daten auszuwerten und zu verstehen, bedeutet dies einen bedeutenden Wettbewerbsvorteil. Vertraut ein Unternehmen jedoch auf fehlerhafte Daten, kann dies fatale Konsequenzen nach sich ziehen: ineffiziente Entscheidungen und im schlimmsten Fall die unbeabsichtigte Missachtung gesetzlicher Vorschriften.

Balken rot 6 - angepasst.png

Häufig können nur minimale Kapazitäten für DWH Tests bereitgestellt werden, wodurch Datenintegritätsprobleme erst spät oder gar nicht erkannt werden können. Im schlimmsten Fall bleibt ein Problem unbemerkt und beeinträchtigt nachgelagerte Geschäftsprozesse. Datenintegritätsprobleme nur symptomatisch und nicht in ihrer Ursache zu beheben ist teuer und ressourcenintensiv. Daher ist es empfohlen, DWH Tests in den automatisierten End-to-End Testprozess zu integrieren.

Tosca® bietet eine Reihe von automatisierten DWH Tests, um die Datenintegrität zu gewährleisten.

  • Pre-Screening: Prüfung auf Veränderungen der Tabellen- oder Feldstruktur und auf korrekte Strukturierung und Formatierung der Daten

  • Vital Checks: Der Vital Check-Assistent überprüft die Datenqualität und ermittelt mögliche Fehler bei der Datenerfassung. Test auf Vollständigkeit, Eindeutigkeit und Integrität.

  • Reconciliation-Tests: Das Ziel der automatischen Abgleichsprüfung ist es, Daten aus unterschiedlichen Systemen zu vergleichen und zu bestätigen, dass Quelldaten und Zieldaten übereinstimmen.

  • Reporting-Test: Der Inhalte und die dazugehörigen Daten von BI-Berichten werden automatisch getestet.

  • Profiling: Daten werden aus betriebswirtschaftlicher Sicht auf logische Konsistenz und Korrektheit validiert.

Fazit

Dieser Insight bietet einen umfassenden Überblick über die Möglichkeit zur Testautomatisierung mit Tricentis Tosca®. Das Ziel von Testautomatisierung ist es, kostspielige, manuelle End-to-End Testfälle durch modularisierte, funktionsbasierte Testfälle zu ersetzen und so eine höhere Testabdeckung zu erreichen.

Die Vorteile von Tosca®: 

  • 24/7-Testing: Zeitunabhängiges Testen erlaubt regelmäßigeres und umfangreicheres Testen

  • Höhere Risikoabdeckung: Automatisierung erhöht die Testabdeckung und reduziert so das Geschäftsrisiko

  • Benutzerfreundlichkeit: Intuitive Bedienbarkeit der Tosca® GUI – Testfälle können auch ohne weitreichenden Programmierkenntnisse erstellt werden.

  • Skalierbarkeit: Wiederverwendung von Testfällen reduziert den Zeitaufwand bei der Testdurchführung

  • Maintenance: Einfache Anpassung der Testfälle, falls sich Geschäftsanforderungen ändern

  • Feedback: Schnelles Feedback in jedem Schritt des Entwicklungszyklus. Testautomatisierung kann mit der hohen Geschwindigkeit agiler Methoden mithalten

Die Herausforderungen von Tosca®:

  • Kosten: Hohe anfängliche Investitionskosten bei der Umstellung auf Testautomatisierung.

  • Implementierung: Effiziente Testautomatisierung benötigt die passendenden Test-Frameworks. Die Auswahl des richtigen Test Tools sollte den Testumfang widerspiegeln.

  • Skriptlos ist nicht Skript-frei: Technisches Expertenwissen und Programmierkenntnisse sind doch oft nötig, um auch Spezialfälle abzudecken.

Finbridge als Partner für Testautomatisierung

Finbridge ist Ihr etablierter Partner in der Banken- und Finanzdienstleistungsbranche. Wir verfügen über das notwendige Prozess- und Anwendungswissen, um Sie bei dem Schritt zur Testautomatisierung zu unterstützen.

Wir identifizieren die (Test-)Automatisierungspotentiale in Ihrem Projekt und begleiten Sie auf dem Weg der Umsetzung.

Unsere ISTQB- und TOSCA-zertifizierten Consultants unterstützen Sie bei allen Fragen rund um die Testautomatisierung. Von der Analyse bestehender und geplanter Anwendungen und Prozesse über die Identifikation von Use Cases bis hin zur ganzheitlichen Machbarkeitsstudie.

Die Finbridge Experten stellen mit Ihnen eine maßgeschneiderte und zukunftsfähige Teststrategie auf und begleiten die Umsetzung im Projekt im Test- und Defectmanagement sowie als Testautomatisierungsexperten.

Unsere Leistungen im Überblick:

  • Identifikation von Automatisierungspotentialen

  • Auswahl der passenden Testautomatisierungslösung

  • Machbarkeitsstudien und Use Case-Erstellung

  • Definition der Teststrategie

  • Aufbau und Wartung einer Testautomatisierung

  • Überführung bestehender Testfälle in eine Testautomatisierung

  • Optimierung bestehender Testfälle

  • Umfangreicher Support Ihrer Mitarbeiter bei der (Test-)Automatisierung

  • Übernahme des Test- und Defectmanagements

  • Tosca- und ISTQB-zertifizierte Consultants

Quellen

[1] “What is Three-Tier Architecture”, IBM Education Cloud (2020), aufgerufen am 15.07.2021. https://www.ibm.com/cloud/learn/three-tier-architecture

[2] “Magic Quadrant for Software Test Automation”, Gartner (2019), aufgerufen am 20.07.2021. https://www.gartner.com/en/documents/3975493/magic-quadrant-for-software-test-automation


Mehr zu Testautomatisierung

 

Team

 
 
Felix WeilConsultantTest Managementfelix.weil [at] finbridge.deLinkedIn | Xing

Felix Weil

Consultant

Test Management

felix.weil [at] finbridge.de

LinkedIn | Xing

 
 

Mehr Insights und Themen