AUTOMATISIERTES TESTEN FÜR
BESSERE ANWENDUNGSQUALITÄT

Einsatz von Cypress, Cucumber und XRay

Kontakt

Nicht nur im Kontext der digitalen Transformation sind effektive und qualitativ hochwertige Softwarelösungen entscheidend für den Erfolg von Projekten. Automatisierte Tests bietet eine Möglichkeit, diese Qualität im Entwicklungsprozess effizient sicherzustellen. 

Für mehrere Heilberufskammern realisieren wir aktuell ein Projekt, bei dem ein prozessorientiertes Dienstleistungsportal aufgebaut wird. Zur Sicherung der Anwendungsqualität wurden in diesem Projekt zunächst manuelle End-to-End Softwaretests eingesetzt. Diese waren zwar gründlich, aber zeitaufwändig und begrenzten die Entwicklungsgeschwindigkeit. Insbesondere die Durchführung von Regressionstests stellte sich als arbeits- und zeitintensiv dar. Es wurde deutlich, dass eine Testautomatisierung erforderlich war, um die Effizienz und Durchführungsgeschwindigkeit zu steigern. 

Bei der Umsetzung des automatisierten Testens entschieden wir uns schließlich für eine Kombination der bewährten Tools Cypress, Cucumber und XRay, die nachfolgend genauer betrachtet werden.

CYPRESS

Effiziente End-to-End Tests

Basierend auf dem End-to-End Testframework Cypress wurden Testfunktionen für die Nutzeroberflächen der Portalanwendungen erstellt. Cypress hat sich dabei als besonders gut geeignet erwiesen, da es direkt für die Erstellung von End-to-End Tests entwickelt wurde. 

Im Gegensatz zu anderen Testframeworks wird Cypress während des Tests im Browser zusammen mit der getesteten Anwendung ausgeführt und erhält damit einen direkten Zugriff auf die Anwendung. Eine Verwendung von remote Befehlen bzw. die Serialisierung von Daten ist damit nicht erforderlich. So ermöglicht Cypress insbesondere die Verwendung eines interaktiven Modus, bei dem jeder durchgeführte Testschritt nachträglich untersucht werden kann. Dies führt zu einer deutlichen Verbesserung der Analyse von aufgetretenen Fehlern.

Um die Entwicklung von standardisierten Testschritten zu ermöglichen, wurden mit Cypress in einem ersten Schritt Selektorfunktionen ausgearbeitet. Mit diesen Funktionen können häufig vorkommende Element wie Buttons oder Textfelder in der Nutzeroberfläche selektiert werden. Eine redundante Implementierung dieser Funktionalität wird damit vermieden. 

In einem zweiten Schritt wurden Funktionen zur Einschränkung des Anwendungskontextes ausgearbeitet. Mit diesen Funktionen kann der Selektionsbereich der Selektorfunktionen auf einen Bereich der Anwendung, z. B. einen Tab, eingeschränkt werden. Dies ist insbesondere bei der Unterscheidung zwischen mehrfach vorkommenden Elementen (z.B. mehreren Abbrechen Buttons) in der Nutzeroberfläche hilfreich. 

Auf Basis der Selektorfunktionen und der Kontexteinschränkungen wurde eine Vielzahl an Grundfunktionen für das automatisierte Testen der Nutzeroberflächen entwickelt. Mit den Grundfunktionen kann beispielsweise ein Button angeklickt oder ein Nutzer im Portal angemeldet werden. Die Grundfunktionen bieten dabei alle notwendigen Funktionen, um einen Test der Anwendung zu erstellen. Die Implementierung einzelner Schritte mit Cypress ist für die Erstellung von Tests damit nicht mehr erforderlich.

CUCUMBER

Vereinfachung der Testdarstellung

Mit der Verwendung der beschriebenen Grundfunktionen können bereits umfangreiche Tests erstellt werden. Allerdings sind dafür weiterhin Entwicklungskenntnisse in JavaScript erforderlich. 

Um eine Testerstellung auch für Nutzer ohne Entwicklungskenntnisse zu ermöglichen, wurden –  basierend auf den Grundfunktionen – Standardtestschritte mit Cucumber erstellt. Cucumber ermöglicht dabei die Beschreibung von Tests mit der Sprache Gherkin als reinen Text. Mit Hilfe der erstellten Standardtestschritte wird eine einfache Testerstellung ohne Entwicklungskenntnisse und Beteiligung aller Projektteilnehmer ermöglicht.

XRAY

Zentrale Verwaltung und Auswertung

Zusätzlich zu den manuellen Tests werden auch die automatisierten Tests in der Jira Erweiterung XRay verwaltet. Die automatisierten Tests werden in der Sprache Gherkin beschrieben und in Testplänen zusammengefasst. 

Für die Ausführung der Tests wurde eine separate Anwendung mit Node.js entwickelt. Diese exportiert die Tests über die Restschnittstelle von XRay, führt den Test mit Cypress durch und schreibt die Ergebnisse zurück. Das ermöglicht eine zentrale Verwaltung der Tests und Auswertung der Testergebnisse, was allen Projektmitgliedern einen einfachen Zugriff auf die Tests und deren Ergebnisse erlaubt.

FAZIT

Durch die Automatisierung unserer Anwendungstests konnten wir

  • die Testdurchführung beschleunigen
  • den zeitlichen Aufwand reduzieren und
  • die Qualität unserer Anwendungen verbessern.


Die Einfachheit der Teststellung ermöglichte es allen Projektbeteiligten, aktiv an der Qualitätssicherung teilzunehmen.

Die Erfahrungen aus diesem Projekt verdeutlichen, wie automatisiertes Testen nicht nur die Effizienz von Entwicklungsprozessen steigert, sondern auch die langfristige Sicherung der Anwendungsqualität gewährleistet. Dieser Ansatz trägt maßgeblich zum Erfolg von Digitalisierungsprojekten bei und unterstreicht die Bedeutung von Testautomatisierung für die kontinuierliche Verbesserung von Prozessen und Dienstleistungen in der digitalen Ära.

PS: Gern übernehmen wir auch das Software-Testing für Ihre IT-Projekte – zuverlässig, sicher, zu attraktiven Preisen.

PROZESSORIENTIERTES DIENSTLEISTUNGSPORTAL

Seit 2011 realisiert OVSoftware gemeinsam mit der Ärztekammer Westfalen-Lippe ein prozessorientiertes Dienstleistungsportal basierend auf inubit BPM. Initial nur für einen Teilbereich entwickelt, wird es nun sukzessive ausgebaut. Immer mehr Prozesse werden abgebildet und Automatisierungspotenziale können genutzt werden.

Das Portal fungiert zudem als zentrale Kommunikations­drehscheibe zwischen externen Nutzern und Fachanwendern. Es ermöglicht den Kammermitgliedern einen schnellen und flexiblen Zugang zu den Kammerleistungen. 

Weitere Kammern haben sich im Verlauf der Projekts  angeschlossen.

PROZESSORIENTIERTES DIENSTLEISTUNGSPORTAL

Seit 2011 realisiert OVSoftware gemeinsam mit der Ärztekammer Westfalen-Lippe ein prozessorientiertes Dienstleistungsportal basierend auf inubit BPM. Initial nur für einen Teilbereich entwickelt, wird es nun sukzessive ausgebaut. Immer mehr Prozesse werden abgebildet und Automatisierungspotenziale können genutzt werden.

Das Portal fungiert zudem als zentrale Kommunikations­drehscheibe zwischen externen Nutzern und Fachanwendern. Es ermöglicht den Kammermitgliedern einen schnellen und flexiblen Zugang zu den Kammerleistungen. 

Weitere Kammern haben sich im Verlauf der Projekts  angeschlossen.