Unsere Lösungen,
ob Start-Up oder etabliertes Unternehmen

Agile Methoden

Business-Intelligence

Business Process Management

Clean Code

Cloud

IT-Sicherheit

Java

Künstliche Intelligenz

Mobile- und Weblösungen

Robotic Process Automation

Testautomatisierung

vivir

viadee Blog

In unserem Blog finden Sie Fachartikel, Success-Stories, News, Messeberichte und vieles mehr... vor allem aber hoffentlich wertvolle Informationen, die Ihnen in Ihrem konkreten Projekt und in Ihrem Business weiterhelfen. Bei Fragen und Anregungen nehmen Sie gerne Kontakt zu uns auf. Bitte benutzen Sie dazu die Kommentarfunktion unter den Blogbeiträgen.

Best Practice: Automatisierte Softwaretests für YAKINDU Statechart Tools

Montag, 19.6.2017

Softwareentwickler entwickeln stets verschiedene Funktionen in ihrer Software. Diese Funktionen müssen getestet werden, um im Sinne der Softwarequalitätssicherung zu gewährleisten, dass sie wie erwartet arbeiten. Zusätzlich soll durch Softwaretests sichergestellt werden, dass die bestehende Funktionalität in folgenden Entwicklungsschritten nicht eingeschränkt wird. Dies wird zum einen über Unit-Tests und zum anderen über manuelle GUI Tests erreicht.

softwaretests

Das Problem:

  • Manuelle GUI Tests sind oft zeitaufwendig und teuer, da wertvolle Personenstunden eingesetzt werden müssen.
  • Zudem bieten manuelle GUI Tests im Erfolgsfall (= keine Fehler entdeckt) bis auf die Bestätigung der Funktionalität kaum einen Mehrwert.
  • Erst im Falle eines Fehlers entsteht der Mehrwert durch die Früherkennung und Korrektur.
  • Im Idealfall sind GUI Tests verschwendete Zeit, da sie nur den erfolgreich durchlaufenen Test als Resultat beinhalten.
  • Da jedoch in den seltensten Fällen vom Idealfall ausgegangen werden kann, müssen standardmäßig manuelle GUI Tests durchgeführt werden.
  • Die hohen Kosten dieser Tests führen häufig dazu, dass die Frequenz ihrer Durchführung vernachlässigt wird und damit auch die Qualitätssicherung darunter leidet.


Die Lösung:

Die Automatisierung von Softwaretests, die aufgrund vieler Wiederholungen für Menschen oft lästig sind, führt zu einer höheren Verlässlichkeit der Ergebnisse und Softwareentwickler können sich anderen/anspruchsvolleren Arbeiten widmen. Darüber hinaus lassen sich so mehr Tests in derselben Zeit oder auch über Nacht ausführen. Zusätzliches Personal ist nicht erforderlich. Durch Testautomatisierung sind bei mehrfacher Durchführung deutliche Kostenvorteile gegenüber einer manuellen Durchführung erzielbar.


Praxisbeispiel Softwaretests für die

YAKINDU Statechart Tools

Die YAKINDU Statechart Tools (SCT) von der itemis AG sind eine integrierte Modellierungsumgebung für die Spezifikation und Entwicklung von reaktiven, ereignisgesteuerten Systemen, die auf Zustandsmaschinen basieren. Die YAKINDU Statechart Tools verfügen über folgende Funktionen:
  • Editieren: Intuitive Kombination von grafischer und textueller Notation zur Modellierung von Zustandsdiagrammen.
  • Validieren: Syntaktische und semantische Überprüfung des gesamten Models.
  • Simulieren: Überprüfen der dynamischen Semantik durch Simulation der Zustandsmodelle.
  • Code Generieren: Direkte Code Generierung für Zustandsmaschinen in Java, C und C++.
  • Deep C Integration: Direkter Zugriff auf C Deklarationen innerhalb von C Headern in den Zustandsmodellen.

Zur dauerhaften Sicherstellung der Softwarequalität wurden von den Entwicklern der itemis AG bislang manuelle GUI Tests verwendet. Dafür haben die Entwickler verschiedene Testcases für verschiedene Arbeits-/Tätigkeitsschritte erstellt, die diese abbilden. Kombiniert mit dem erwarteten Ergebnis wurde das jeweilige Resultat abgeglichen und somit der Erfolg oder Misserfolg des Tests festgestellt.

Kosten-Nutzen-Betrachtung von Testautomatisierung Kostenloses Whitepaper - hier downloaden


manuelle testfaelle yakindu

Umsetzung des GUI Tests mit dem viadee Testframework

Am Beispiel des Testcases 3 des YAKINDU Statechart Tool (SCT) wird die Umsetzung eines automatisierten GUI Tests demonstriert. Dieser Testfall soll die korrekte Funktionalität des Simulierens von Zustandsmodellen testen. Dazu wird zuerst eine Simulation angelegt und anschließend das Vorhandensein benötigter Parameter überprüft. Anschließend wird die Simulation gestartet und das korrekte Durchlaufen der Zustände überprüft. Danach kann die Simulation und damit auch der Testfall beendet werden.

automatisierter testfall

Der Ablauf im Video entspricht bis Minute 1:02 eins zu eins der Beschreibung des Testfalls 3. Anschließend werden die Schritte des Testfalls rückgängig gemacht, um die Wiederholbarkeit des Tests zu gewährleisten.



Ablauf Testerstellung

  • Testfall konzeptionell erstellen, indem ein Testablauf und die erwarteten Ergebnisse schriftlich beschrieben werden – wie am Beispiel YAKINDU SCT zu sehen.
  • Umsetzung des Testfalls mit einem der meistverwendeten Office Werkzeuge: Microsoft Excel
  • Dabei wird der Testfall in einer Baumstruktur weiter verfeinert
  • Ein Testfall kann aus mehreren Testgruppen bestehen,
  • eine Testgruppe besteht aus mehreren Testschritten und
  • ein Testschritt besteht aus mehreren Testkommandos, die diesen Testschritt mit Hilfe verschiedener Parameter umsetzen.
  • Zusätzlich kann mit zentralen Umgebungsvariablen und Testschritten die Erstellung vereinfacht werden, indem diese testfallübergreifend verwendet werden können
  • Abschließend kann der Testfall über die Weboberfläche des vTF gestartet werden.
  • Alternativ kann der Testfall auch während des Build-Prozesses des zu testenden Programmes ausgeführt werden, um den Prozess komplett zu automatisieren.

viadee Testframework - jetzt kostenlos als Freeware testen!

testfall_beschreibung_yakindu.png


Fazit / Kundenstimme

"Automatisiertes Testen mit dem viadee Testframework hilft uns ungemein bei unserer Arbeit. Wir können unsere Produkte damit noch konsequenter und umfassender testen und so hohe Softwarequalität dauerhaft sicherstellen. Zusätzlich haben wir seit der initialen Einrichtung nur noch minimalen Aufwand bei der Durchführung der Tests. Die viadee-Experten haben uns bei der Integration des Testframeworks perfekt unterstützt."

Andreas Mülder, Softwareingenieur bei der itemis AG in Lünen, NRW.

 


Jetzt Blog abonnieren!
zum Blog
Vitali Friesen

Vitali Friesen

Vitali Friesen ist bei der viadee IT-Unternehmensberatung als Systementwickler in der Anwendungsentwicklung tätig. Auch im Bereich des maschinellen Lernens hat er einige Erfahrung sammeln können und lernt selbst immer mehr dazu. Nebenbei beschäftigt er sich gerne mit Themen wie Internetsicherheit sowie Wirtschafts- und Finanzpolitik.

Vitali Friesen bei Xing