Migration via WebSwing - inklusive Tests!

Die an der Frankfurter Wertpapierbörse notierte B+S Banksysteme Aktiengesellschaft ist eine Softwaremanufaktur für Banken und Finanzdienstleister, die 1982 in Salzburg gegründet wurde. Der Hauptsitz der Gesellschaft ist seit 2008 in München, weitere Standorte befinden sich in Österreich und in der Schweiz.

Wir stellen uns mit einem Team von über 100 Experten den umfangreichen und vielschichtigen Herausforderungen der Finanzwelt.

Durch die Teamgestaltung mit fachlichen und technischen Spezialisten ist es möglich herausragende Produkte für anspruchsvolle Kunden zu entwickeln und diese auf Wunsch auch im eigenen Rechenzentrum zu betreiben. Die enge Zusammenarbeit mit der Firma QFS ermöglicht es uns dabei seit vielen Jahren alle eingesetzten Entwicklungstechnologien in intensive und mehrschichtige automatisierte Testverfahren effizient einzubinden.

QF-Test bei der B+S Banksysteme

B+S setzt QF-Test schon seit 2006 ein. Begonnen wurde mit dem Aufbau von automatisierten Regressions- und Integrationstests für unsere Banking Software deren User Interface in Java Swing entwickelt ist. Die einfache Entwicklung der Testablaufe und Testcases überzeugte uns sehr rasch und sorgte auch für eine sehr hohe Akzeptanz bei den Mitarbeiter:innen, die einerseits die Tests entwickeln und andererseits auch durchführen. Besonders können wir die stabile Komponentenerkennung trotz Weiterentwicklung der Oberflächenelemente oder der Java Versionen hervorheben. Durch eine Fusion mit einem e-Banking Hersteller erweiterten wir unser Testing Portfolio um native Web-Anwendungen, die später auch in der klassischen Banking Software Einzug hielten.

QF-Test ist im Gesamtkonzern eingesetzt und wird in vielen Stufen des Entwicklungsprozesses eingebunden.

  • Entwicklungs und Integrationstests
  • Regressionstests (Continuous deployment, nightly builds)
  • Tests kundennaher Softwarestände vor Auslieferung
  • Ergänzende Unittests mit Integration in Jenkins

Deployment von Java Swing Clients (an Endanwender)

Viele Kunden von B+S nutzen für das Deployment der Java Clients weitere Software wie z.B. Citrix oder ähnliche Tools, um Installationen auf den Workstations zu vermeiden. Nach vermehrten Anfragen, ob die Anwendung nicht auch im Browser an die Endanwender bereitgestellt werden könne, begann im Hause eine Vorstudie über entsprechende Möglichkeiten. Da eine Entwicklung als native Web-Anwendung auf Grund der hohen Aufwände und langen Entwicklungszeiten ausschied, wurde die Lösung WebSwing näher betrachtet. WebSwing ermöglicht über eine Middleware die Darstellung von Java Swing-Anwendungen als Webseite und damit eine sehr einfache Verteilung an Enduser ergänzt um eine zentrale Verwaltung und Installationsmöglichkeit. Während des Proof of Concepts wurden auch die Fragestellungen der Testmöglichkeiten der neuen Oberfläche analysiert. Es stellte sich rasch heraus, dass die Firma QFS bereits an der Thematik mit WebSwing arbeitet – das informative Webinar Integriertes Testen von Webswing Anwendungen mit QF-Test half uns die neuen Zusammenhänge und Lösungswege rasch zu verstehen. Besonders wichtig war für B+S die Wiederverwendbarkeit unserer umfangreichen, über Jahre gewachsenen QF-Test Testfälle und Abläufe.

Da auch dies positiv erfüllt war, wurde schließlich WebSwing als weitere Deploymentmöglichkeit mit in das Leistungsportfolio aufgenommen und seit 2022 im B+S Rechenzentrum eingesetzt.

Tests von Java Swing mit WebSwing

 

Im Testing mit WebSwing mussten zwei Herausforderungen gelöst werden:

1. Tests der entwicklungsnahen Stufen werden lokal ausgeführt. Der WebSwing Server wird durch die Tester gestartet. QF-Test ist daher in der Lage die WebSwing Instanz zu starten.

  • Die erste Herausforderung konnte nach kurzer Kontaktaufnahme mit Herrn Gregor Schmid von QFS rasch gelöst werden. Wir bekamen eine vorkonfigurierte Testdatei und konnten in die Prozeduren rasch unsere (minimalen) Änderungen einbauen, so dass der WebSwing Server und der Browser lokal gestartet werden. Wir waren äußerst positiv überrascht, dass alle bestehenden Tests nahtlos weiter verwendet werden konnten. Die Erkennung der Komponentenfunktion ist äußert zuverlässig und stabil, alle IDs und Erkennungsmerkmale blieben unverändert – die Tests liefen „out of the box“!

 

2. Weitere Teststufen laufen auf dezidierten Testumgebungen, die automatisiert aktualisiert werden. Die komplette Client-/Server-Applikation wird ständig betrieben, die Dienste der Server werden zentral gestartet. Erschwerend sind die Testserver geclustered und load balanced, mehrere Testumgebungen laufen parallel auf dem Cluster. QF-Test ist es somit nicht möglich die WebSwing Instanz selbst zu starten.

  • Etwas mehr Aufmerksamkeit war zur Lösung der zweiten Herausforderung notwendig. Auch hier wurden die notwenigen Änderungen von QFS benannt bzw. Dateien übermittelt. Zum Beispiel muss QF-Test (Linux) auf dem WebSwing-Server installiert und passend zu QF-Test am Client gehalten werden.

    Nach der Implementierung der Vorgaben stellte sich aber heraus, dass die Erkennung der Komponenten als Webanwendung erfolgt und damit neue IDs für die Swing Komponenten ergibt. In einer Fernwartungssitzung wurden mit Herrn Schmid die Probleme identifiziert und direkt gelöst. So mussten an den verschiedenen Firewalls mehrere Ports freigeschalten werden. Die Ports müssen auch im Startskript von QF-Test berücksichtigt werden. Die Integration von QF-Test mit WebSwing am Server musste auf Grund unserer Struktur an mehreren Stellen auch leicht abgewandelt erfolgen.
     
  • Dank der hervorragenden Unterstützung von QFS, für die wir uns herzlich bedanken möchten, konnte auch die zweite Herausforderung stabil gelöst werden. Die vorhandenen Tests laufen auch hier ohne nennenswerten Anpassungsbedarf.  

Mag. FH Jürgen Macherhammer, Projektmanager, B+S Banksysteme Salzburg GmbH, Österreich