Herausforderungen im Software Testing:
- Wir arbeiten in einer hochgradig vernetzten Welt, mit einer Vielzahl an Technologien und Plattformen
- Begünstigt durch agile Prozesse implementieren wir neue Technologien in immer kürzeren Entwicklungszyklen
- Testteams sind heutzutage mit zahlreichen neuen Herausforderungen konfrontiert
- Zu viele Tests werden immer noch manuell durchgeführt
- Das Schreiben von Testskripts ist zeitintensiv und führt zu geringer Testabdeckung und hohen Wartungskosten
- Zeitraubende und unflexible, traditionelle Testansätze haben in einer Zeit mit immer limitierteren Ressourcen endgültig ausgedient
Präsentation der Firma Tricentis über ihre Testing-Suite TOSCA.
End-to-End Testing: Von den Requirements bis zum Reporting in Agiler Umgebung
Hintergrund
Software Tests sind unerlässlich für die Gewährleistung qualitativ hochwertiger Software. End-to-End Testing setzt im System einerseits auf der funktionellen, andererseits auf der architektonischen Seite an.
Die erforderlichen Schritte für den End-To-End Test sind: Definition der Anforderungen, Testfallerstellung, Ausführung der Tests und Reporting.
End-to-End Testing ermöglicht die Erstellung von Testfällen, die hierarchisch aus Nutzungsfunktionen und Komponenten-Features aufgebaut werden. Es zeichnet sich aus durch:
- Fokussierung auf die Perspektive des Endnutzers
- Erstellung eines umfassenden Test-Szenarios, das als Vorlage für mehrere Testsätze dient
- Erhöhung von Testautomatisierung in agiler Testumgebung
Optimierte Testprozesse mit TOSCA Testsuite
End-to-End Testprozess OneView
Eine der wichtigsten Zielsetzungen im Softwaretest ist die Entscheidungsfindung über die Marktreife einer Software oder eines Releases.
Diese Information muss in einer klaren, verständlichen und verlässlichen Weise geliefert werden und gleichzeitig so vollständig wie möglich sein.
Für eine folgerichtige Entscheidungsfindung müssen die Ausgangsdaten für die erforderlichen Testreports durch einen präzise definierten Testprozess ermittelt werden.
Die TOSCA Testsuite bietet eine solche Lösung mit optimaler Unterstützung für den gesamten Testzyklus.
TOSCAs OneView Technologie erlaubt die Erstellung eines Test Case Designs für den Testprozess auf verschiedenen Plattformen, wie Mobile/Smart Device, Data Warehouse Systemen etc. und bietet umfassende Integration mit gängigen ALM (Application Lifecycle Management) Systemen wie HP, IBM und anderen.
Nur 15 von 100 Regressionstests sind heutzutage automatisiert
40 Jahre nach der Einführung erster Testautomatisierungs-Technologien sind nur ungefähr 15 von 100 Regressionstests automatisiert.
Warum hat die Adaptierung von Testautomatisierung so lange auf sich warten lassen?
Mit damaligen skript-basierten Technologien wurden Testfälle entweder starr mit einem Automatisierungscode integriert (Record/Replay), was die Testfälle im Fall von Änderungen sehr fragil machte, oder es wurde ein Test Automation Framework erstellt, was zeitraubend, teuer und nur schwer anpassbar war insbesondere in heterogenen Technologieumgebungen.
Die Konsequenz ist eine geringe Abdeckung mit automatisierten Tests in Unternehmen.
TOSCA bietet einen neuen dynamischen Ansatz für die Testautomatisierung, der die Testlogik von der Automatisierungslogik trennt.
Modell-basierte Testautomatisierung löst die Testfälle von der zugrunde liegenden Technologie des Systems und erschafft so einen Testfall in verständlicher Sprache, der für verschiedene Technologien und Plattformen wiederverwendet werden kann.
Modell-basiertes Testen: Key Benefits
- Nur eine Test Case DefinitionVerwenden eines einmal erstellten Testfalles für verschiedene Automatisierungszwecke und unterschiedliche Systeme, für Mobile/Smart Device, Cross-Browser etc.
- Stabilitt, Flexibilitt und gnstige WartungEs ist jederzeit möglich, den Ablauf, die Bedingungen, die Reihenfolge, die Testdaten usw. zu verändern, ohne das Automatisierungsmodell überholen zu müssen.
- One Universe OneViewModell-basiertes Testen bietet ein Universum für: manuelle und automatisierte Tests, GUI und non-GUI Tests, unterschiedliche Technologien (HTML, .NET, Flash, Web-Services, JAVA und viele weitere), gebündelte Applikationen (SAP, SIEBEL,), End-to-End Tests von Geschäftsprozessen.
- Kein Fachpersonal erforderlichAutomatisierte Testfälle können einfach per Drag und Drop auch von Test- oder Wirtschaftsanalytikern ohne Programmierkenntnisse erstellt und gewartet werden.
- Schnelle MarktreifeDie Flexibilität, der geringe Wartungsaufwand und die personellen Vorteile ermöglichen zusammen mit der kurzen Lernkurve für modell-basiertes Testen schnelle und kurzfristige Änderungen nach Bedarf.

Warum eignet sich TOSCA?
- Modell-basierter, visionärer Ansatz
- Paradigmenwechsel in der Testautomatisierung
- Auch für nicht-technische Nutzer leicht zu bedienen
- Schnelle Erstellung automatisierter Testfälle in verständlicher Sprache
- Zertifizierte Integration mit SAP
- Abdeckung mit automatisierten Tests bis zu 85%
Neuerungen in TOSCA
Pro Jahr werden 2 Major Releases und 4 Minor Releases publiziert. 2011 wurden fast 700 Features implementiert. 80% davon kamen aus Input von Kunden zustande.
Linear Q
Linear Q ist die Vorgehensmethodik für die Erstellung von Testfällen:
Effektivität: Liegen die rictigen Testfälle vor?
ALM-Systeme wie Polarion oder HP Quality Center werden neu direkt angesprochen. Damit kann man selektiv Requirements synchronisieren und muss nicht mehr alle Requirements importieren.
Die Gewichtung der Testfälle bezüglich Risiken kann top-down oder bottom-up aus einzelnen Use-Cases generiert werden. Stakeholder oder andere Properties können dargestellt und in Reports ausgegeben werden.
Die Testfälle werden basierend auf den relevanten Attributen gebildet.
Equivalenzklassen enthalten alle Werte, die gleiche Testdaten produzieren, z.B. alle akzeptierten Währungen eines Geschäftsfalles oder alle positiven oder negativen Beträge.
Equivalenzklassen sind relevant, um sich ganze Gruppen von Testfällen zu sparen und diese nur durch einen einzigen Testfall abzubilden. In TOSCA gibt es zwar eine Funktion, um alle Attribute kombinatorisch gesamthaft zu testen. Dies kann bei grossen Software-Projekten schnell in sehr viele Testfälle ausarten und ein Performance-Problem darstellen.
Einfacher ist es, «orthogonal» zu kombinieren: Es werden nur die relevanten und mindestens nötigen Kombinationen von Testfallattributen berücksichtigt.
Um keine relevanten Attribute auszulassen, können Charaktere wie «Glattläufer«, «ungültiger Wert» oder «Grenzwert» hinterlegt werden. Die Kombinatorik berücksichtigt dadurch explizit auch ungültige Werte.
Tritt beim Durchlaufen der verschiedenen kombinierten Testfälle ein Fehler auf, so wird dargestellt, welches Attribut oder welche Kombination von Attributen den Fehler verursacht haben: Mit der «linearen Erweiterung (linear expansion) wird immer nur ein Attribut auf einmal geändert. Damit ist es möglich, Fehler bis auf Attributebene hinunter zu verfolgen.
Per Drag & Drop werden die per Kombinatorik erstellten Testkombinationen in die Reportingansicht gezogen. Umgehend steht im Reportingmodul eine Analyse und Visualisierung der Testabdeckung zur Verfügung.
TOSCA Wizard
Mit dem TOSCA Wizard können Web-Interfaces analysiert und die relevanten Eingabefelder und Buttons in TOSCA übernommen werden. Neu wird vom analysisierten Interface automatisch ein Screenshot erzeugt und im entsprechenden Modul in TOSCA hinterlegt. Das erleichtert die Wartung, indem die graphische Präsentation des Interfaces immer bei den abstrakten Testfällen zur Verfügung steht.
TOR TestdatenObjektRegister
TOR ist eine Datenbank mit einfacher Tabellenstruktur. Hier können Testdaten abgespeichert werden, z.B. welche neuen Kontonummern wurden im Testsystem erzeugt? Auf diese Daten kann später während des Testens zugegriffen werden.
In produktiven Systemen stehen die zu testenden Funktionen noch gar nicht zur Verfügung. Zudem stehen die benötigten Testdaten nicht zur Verfügung. Im Testsystem können Testdaten «synthetisch» hergestellt und in TOR gespeichert werden.
Als Buffervariable werden die Werte zur Testlaufzeit aus TOR angezogen. Sie haben per Definition den richtigen Wertebereich und eignen sich deshalb für den entsprechenden Test-Case.
Gewichtung der Attribute für das Reporting
Attribute und Instanzen können einzeln gewertet werden. Daraus berechnet sich ein innerer Wert der Atribute. Diese Werte werden herangezogen, um im Reporting auszuweisen, wie kritisch das Auftreten eines Fehler ist.
Je nach Resultat kann man besser abschätzen, ob man einen Release-Kandidaten online schalten kann oder besser noch nicht.
Erzeugung von Testdaten
Testdaten lassen sich erzeugen, indem man die Funktionsmodule benutzt und mit Datensätzen speist. So lassen sich «synthetische» und anonymisierte Datensätze erstellen, die genau den Bedürfnissen zum Testzeitpunkt entsprechen.
Es lassen sich auch Files importieren, z.B. XML-Files, um Datensätze zu importieren oder Schnittstellen zu testen.
Business Prozesse testen (end-to-end testing)
Oft möchte man aus all den vielen einzelnen Testfällen nur diejenigen herauspicken, die Business-relevante Prozesse umfassen, z.B. einzelne wichtige Prozesse wie eine Tagesendverarbeitung.
Dafür werden die entsprechenden «konventionellen» Testfälle erstellt. Diese können in einen «Businesstestfall» zusammengefasst werden. Entsprechend gibt es auch die Business-Case Ausführungsliste. Diese enthält im Gegensatz zu normalen Ausführungslisten aber «nur» eine Ansicht auf die Ergebnisse der einzelnen Testläufe.
Mobile Testing
Auf Smartphones wird meist «nur» eine Repräsentation der Logik gezeigt, die auf einem Web-Server läuft. Diese ist gründlich zu testen.
Zusätzlich kann über Keynote DeviceAnywhere Studio die Präsentation auf verschiedenen Devices getestet werden.
Die Interaktionsfelder von Mobile-Modellen werden über eine Auswahlliste vorselektioniert. Der TOSCA Wizard, das Scanning-Tool für Webseiten, analysiert dann die Mobile-Website und stellt die gefundenen Controls in TOSCA zur Verfügung. Mit diesen kann in TOSCA weitergearbeitet werden wie mit konventionellen Controls, die auf Webseiten gescannt wurden.
Da über die TOSCA-Schnittstelle XML-Files importiert werden können, z.B. auf dem Server ausgelöste Prozesse und die daraus erzeugten Files, können End-to-End Tests durchgeführt werden: Auf dem Mobile-Device und/oder einer Web-App werden Prozesse ausgelöst und deren Ausgaben aus nachgelagerten Diensten wieder in TOSCA eingelesen, um die Resultate auf Korrektheit zu prüfen.