No-Code und Low-Code Testautomatisierung mit Tosca

🕒 Lesedauer: 5 Minuten

Nicht mit der berühmten italienischen Oper von Giacomo Puccini aus dem Jahre 1900 zu verwechseln, handelt es sich bei Tosca um ein Testautomatisierungstool aus dem Hause Tricentis. Open Source Tools wie beispielsweise Selenium oder Playwright sind mächtige Tools, doch der Caveat besteht darin, dass viel manuelle Konfiguration, meist auch in Form von Plugins, notwendig ist, wenn diverse Funktionen wie unter anderem das Reporting eingerichtet werden sollen. Hier schafft Tosca mit einer vollumfänglichen Lösung Abhilfe, wenn man den ein oder anderen Nerv schonen will. Mit der nachfolgenden Übersicht soll Ihnen dieses Tool schmackhaft gemacht werden.

Image
Testautomatisierung mit Tosca

Was ist Tosca?

Mit der Gründung des Unternehmens Tricentis im Jahre 2007, hat auch Tosca im selben Jahr das Licht der Welt erblickt. Die Einsatzgebiete reichen von klassischen End-to-End-Tests bis hin zu Desktop-, Mobile-, API-Testing oder sogar dem exklusiven Testen von SAP-Systemen. Bei dem Tool handelt es sich hierbei um ein No-Code bzw. Low-Code-Testing Tool, verfolgt aber zu vielen anderen seiner Art einen anderen Ansatz: Nämlich die modellbasierte Testautomatisierung (MBTA). Anstelle von Skripten werden Testfälle mithilfe einer grafischen Benutzeroberfläche erstellt, das heißt, dass via konfigurierbaren Modulen bzw. Drag-and-Drop diese Testfälle von Personen erstellt werden können, die wenig bis keine Programmierkenntnisse mitbringen. Weitere Features, die Tosca mitbringt, sind hierbei risikobasiertes Testen, also eine integrierte Risikoanalyse, bei der bestimmt wird, welche Testfälle eine höhere Priorität haben als andere. Zudem kann Tosca an CI/CD Tools wie beispielsweise Jenkins oder Azure DevOps gekoppelt werden; unterstützt Testdaten-Management zur Generierung und Verwaltung von Testdaten für datengetriebene Tests und erlaubt die Ausführung mehrerer Testfälle in Parallel. 
Wichtig sei zu erwähnen, dass es sich bei Tosca um kein Open-Source Tool handelt, sondern kommerziell vertrieben wird und damit Lizenzkosten einhergehen. 

Die Tosca-Komponenten

Die Suite von Tosca besteht aus einer Vielzahl von Komponenten, die hier kurz aufgeführt werden sollen:

  • Tosca Commander: Das Herzstück für die Testentwicklung, -ausführung und -verwaltung
  • Tosca XScan: Ein UI-Scanner, womit die jeweiligen Testobjekte bei den Anwendungen erkannt werden können
  • Tosca TestCase Design: Hierbei handelt es sich um ein modellbasiertes Testdatenmanagement für datengetriebene Tests
  • Tosca API Scan: Tool zur Validierung von Schnittstellen von REST und SOAP
  • Tosca Distributed Execution (DEX): Erlaubt das parallele Ausführen von Testfällen auf mehreren Maschinen bzw. in der Cloud
  • Tosca Test Data Service (TDS): Damit können Testdaten für datengetriebene Tests verwaltet werden
  • Tosca Data Integrity (DI): Damit können Datenintegrität, ETL-Prozesse sowie die BI-Berichte getestet werden
  • Tosca Mobile: Ermöglicht das mobile Testen von iOS- und Android-Anwendungen
  • Tosca Orchestrated Service Virtualization (OSV): Werden isolierte Tests benötigt, so können mit dieser Komponente APIs und Backend-Systeme simuliert werden
  • Tosca Continuous Integration: Erlaubt die Integration mit CI/CD Tools wie beispielsweise Azure DevOps, GitLab und Jenkins
  • Tosca qTest: Ein Testmanagement-Tool, das für Agile- bzw. DevOps-Teams genutzt werden kann
  • Tosca LiveCompare: Mit dieser Komponente kann analysiert werden, welches Risiko mit der Änderung von SAP-Lösungen besteht und wie diese Risiken minimiert werden können.

 

Beispieltestfall in Tosca

Um ein Gefühl dafür zu bekommen, wie eigentlich Testfälle in Tosca aussehen, soll hierzu ein kleines Beispiel dienen, das sich sehr nah an die wirkliche Anwendung anlehnt:

Name

Value

ActionMode

DataType

WorkState

Login-Seite

 

 

 

IN_WORK

Nutzername

 

 

String

 

Eintippen des Nutzernamens

Testname

Input

String

 

Passwort

 

 

String

 

Eintippen des Passworts

*****

Input

Password

 

Einwählen

{Click}

Input

String

 

Wer damit beginnt einen Testfall zu erstellen, dem wird gleich die Tabellen-Baumstruktur ins Auge fallen, unterteilt in 5 Spalten:

Name: In dieser Spalte werden die mit dem UI-Scanner identifizierten Testobjekte mit den jeweiligen Testschritten aufgelistet und das in der aufgeführten Reihenfolge. Es sei außerdem zu beachten, dass es sich bei der Zeile “Login-Seite“ um den Testfallnamen handelt. Diese Testfallnamen müssen dabei bei allen Tests auf der obersten Ebene stehen

Value: Hier werden beispielsweise die Werte eingetragen, etwa in ein Textfeld oder man gibt eine Aktion an, was mit den geschweiften Klammern {} umgesetzt wird.

ActionMode: Die Einträge dieser Spalte werden in der Regel automatisch ausgefüllt, wenn die jeweiligen Werte in der Value-Spalte eingetragen werden, kann aber auch nach Belieben selber angepasst werden. Beispielsweise wurde in unserem Testfall “Input“ für das Eintippen des Nutzernamens erkannt.

DataType: Die jeweiligen Datentypen werden nach Identifizierung der Testobjekte in Spalte 1 (Name) automatisch erkannt und ausgefüllt.

WorkState: Hier kann man angeben, in welchem Bearbeitungszustand sich der Testfall gerade befindet. Dazu gibt es drei Auswahlmöglichkeiten:

  • PLANNED: Wenn der Testfall als nächstes auf der Agenda steht abgearbeitet zu werden
  • IN_WORK: Wenn aktuell der Testfall bearbeitet wird
  • COMPLETED: Wenn die Bearbeitung des Testfalls abgeschlossen ist

 

Vorteile von Tosca

  • No-Code/Low-Code Testautomatisierung
    • Aufgrund des modellbasierten Ansatzes (MBTA) benötigt Tosca wenig bis keine Programmierkenntnisse
    • Mithilfe einer GUI und Drag-and-Drop Funktionalitäten lassen sich einfach Testfälle erstellen
  • Unterstützung von diversen Anwendungsplattformen
    • Kann für Web-, Desktop-, Mobile-, API- und Mainframe-Anwendungen verwendet werden
    • Besitzt eine eigens SAP zertifizierte Integration
  • Integriertes Datenmanagement
    • Ermöglicht datengetriebene Tests mit echten und gemockten Testdaten
  • Unterstützung von CI/CD
    • Lässt sich in gängige CI/CD-Pipelines wie z. B. Jenkins, Azure DevOps oder GitLab integrieren. Die Integration kann folgendermaßen geschehen:
      • Über den Tosca execution Client
      • Über die Tosca Server Execution API
      • Via Legacy-Optionen:
        • Ausführung über Tosca Distributed Execution ohne AOS
        • Ausführung über den Remote Service
        • Ausführung auf dem Build-Server
  • Parallele Testausführungen
    • Unterstützt die parallele Testausführung auf mehreren Maschinen wie z. B. in der Cloud- oder in Container-Umgebungen
  • Risikobasierte Teststrategie
    • Identifizierung kritischer Testfälle auf Basis eines Risikoprofils
    • Reduzierung die Anzahl der auszuführenden Testfälle, ohne die Testabdeckung zu mindern
  • Integriertes Reporting
    • Detaillierte visualisierte Reports für bessere Nachverfolgbarkeit
    • Lässt sich mit BI-Tools und Dashboards wie z. B. Power BI oder Grafana integrieren

 

Nachteile von Tosca

  • Hohe Lizenzkosten
    • Tosca gehört zu einem der teuersten Testautomatisierungstools auf dem Markt
    • Für kleinere Unternehmen eher unrentabel
  • Eingeschränkte Flexibilität
    • Für Entwickler, die sich mehr Eigenkontrolle via Code wünschen, ist dieses Tool weniger geeignet
  • Höherer Ressourcenverbrauch
    • Da es sich bei Tosca um eine große Suite handelt, die allerlei Nebenfunktionen mitbringt, benötigt es eine leistungsfähigere Infrastruktur, insbesondere für große Testumgebungen mit vielen parallelen Testläufen
  • Eingeschränkte Open-Source Integration
    • Während Tosca gut in kommerzielle Lösungen wie beispielsweise SAP oder Azure DevOps integriert ist, ist die Integration zu Open-Source-Tools wie beispielsweise Selenium oder Playwright eingeschränkt.
  • Proprietäre Technologie (Vendor Lock-in)
    • Ist erst einmal eine Testautomatisierung mit Tosca aufgesetzt worden, so kann diese nicht oder nur mit sehr viel Aufwand auf andere Tools übertragen werden
  • Eingeschränkte Unterstützung durch die Community
    • Da es sich um kein Open-Source-Projekt handelt, kann die Community nur bedingt einem behilflich sein. Jedoch steht einem der offizielle Support zur Rat und Tat zur Verfügung
  • Performance-Einbußen bei großen Testobjekten
    • Bei sehr großen und komplexen Testfällen kann die Performance rapide einknicken

 

Alternativen zu Tosca

  • Eggplant Functional (Keysight Eggplant)
  • Leapwork
  • TestModeller (Curiosity Software)
  • Conformiq
  • Broadcom Agile Requirements Designer (ARD)
  • IBM Rational Test Workbench

 

Fazit zu Tosca

Im Bereich von No-Code/Low-Code Testing-Tools präsentiert sich Tosca als ein mächtiges Tool, das mit einem großen Portfolio an diversen Funktionen einherkommt. Der modellbasierte Ansatz ist dahingehend interessant, weil Testfälle hier nämlich recht schnell mithilfe einer GUI zusammengebaut werden können, ohne sich groß in Code reinfuchsen zu müssen. Sehr positiv sind auch das Vorhandensein einer SAP-Schnittstelleintegrierte Datenmanagement, die Unterstützung von CI/CD, das integrierte Reporting, die Möglichkeit der parallelen Testausführung sowie des risikobasierten Testens hervorzuheben. 

Die Kehrseite der Medaille ist jedoch, dass es ein wirklich teures Tool ist, das nur von finanziell gut aufgestellten Unternehmen genutzt werden soll. Zudem werden dedizierte Entwickler hier wenig Freude dran finden, da diese kaum bis gar nicht die Möglichkeit haben eigene codebasierte Anpassungen durchführen zu können, insbesondere da es sich bei Tosca um kein Open-Source Projekt handelt. 

Wer über die negativen Aspekte hinwegsehen kann, bekommt mit Tosca einen treuen Begleiter im Bereich der Testautomatisierung, auf das eine Vielzahl von Kunden vertraut.  

 

 

FAQ - Tosca

Welche Vorteile bietet die Testautomatisierung mit Tosca?

Die Testautomatisierung mit Tosca bietet zahlreiche Vorteile, darunter eine beschleunigte Testdurchführung, eine integrierte Testmanagement-Funktionalität und die Fähigkeit, Tests ohne Code zu erstellen, was die Nutzung auch für Nicht-Programmierer erleichtert.

Was sind die Hauptbestandteile von Tricentis Tosca?

Die Hauptbestandteile sind die Tosca Testsuite, die modellbasierte Testautomatisierung und das integrierte Testmanagement, das eine nahtlose Verwaltung aller Testaktivitäten ermöglicht.

Wie funktioniert die automatisierte Durchführung von Softwaretests mit Tosca?

Die automatisierte Durchführung von Softwaretests erfolgt durch die Erstellung von Testszenarien, die dann automatisch ausgeführt werden können. Dabei wird die Testautomatisierung von Tosca insbesondere durch die modellbasierte Vorgehensweise unterstützt.

Welche Schulungen oder Seminare werden für die Nutzung von Tosca angeboten?

Es gibt verschiedene Schulungen und Seminare, die eine ausgezeichnete Grundlage für die spätere Nutzung von Tosca bieten. Diese Seminare behandeln die Nutzung des Tools sowie die besten Praktiken in der Testautomatisierung.

Ist Testautomatisierung mit Tosca für alle Arten von Tests geeignet?

Ja, die Testautomatisierung mit Tosca eignet sich für verschiedene Testarten, einschließlich funktionaler Tests, Regressionstests und Lasttests, und unterstützt die effiziente Verwaltung aller Testaktivitäten.

Welche Risiken sind mit der Testautomatisierung von Tosca verbunden?

Zu den Risiken der Testautomatisierung gehören die Möglichkeit von Fehlkonfigurationen, die Notwendigkeit regelmäßiger Wartung der automatisierten Tests und die Abhängigkeit von der Qualität der Testdaten. Eine sorgfältige Planung und Schulung kann diese Risiken jedoch minimieren.

 

Veröffentlicht am 11.März 2025

Aktualisiert am 15.März 2025

Valerius Schmidt

Junior Testautomation Engineer, Test Analyst

Ursprünglich als Sprachwissenschaftler für die antike sowie mittel und neuzeitliche Welt, war ich während und nach meiner aufbauenden Ausbildung zum Fachinformatiker für Anwendungsentwicklung in diversen Projekten in den Unternehmen wie der Trout GmbH und der fino digital GmbH involviert. Themenschwerpunkte waren dort zum einen die Softwareentwicklung, die Datenqualität sowie das Testen von Software und der Automatisierung. Seit August 2023 bin ich als Junior Testautomation Engineer und Test Analyst bei der Qytera GmbH tätig, wo mein Fokus aktuell auf dem Testen mit dem Automatisierungswerkzeug Playwright liegt.