Migrating to WebSwing – Tests included!

B+S Banksysteme Aktiengesellschaft, listed on the Frankfurt Stock Exchange, is a software manufacturer for banks and financial service providers that was founded in Salzburg in 1982. The company's headquarters were moved to Munich in 2008, with further locations in Austria and Switzerland.

With our team of over 100 experts, we meet the extensive and multi-layered challenges of the financial world.

The team structure with professional and technical specialists makes it possible to develop outstanding products for demanding customers and, if desired, to operate them in our own data center. The close cooperation with QFS has for many years enabled us to efficiently integrate all development technologies used in intensive and multi-layered automated test procedures.

QF-Test at B+S Bankensysteme

B+S has been using QF-Test since 2006. We started by setting up automated regression and integration tests for our banking software, its user interface having been developed in Java Swing. The easy development of test procedures and test cases convinced us very quickly and also ensured a very high level of acceptance among the employees, both those who develop the tests as well as those who carry them out. We especially want to emphasize the stable component recognition despite continued development of the interface elements and the Java versions. Through a merger with an e-banking manufacturer, we expanded our testing portfolio to include native web applications, which later also found their way into the classic banking software.

QF-Test is used throughout the entire group and is integrated in many stages of the development process:

  • Development and integration tests
  • Regression tests (continuous deployment, nightly builds)
  • Tests of customer-related software versions before delivery
  • Additional unit tests with integration in Jenkins

Deployment of Java Swing clients (to end users)

Many B+S customers use other software such as Citrix or similar tools for the deployment of Java clients in order to avoid installations on the workstations. After an increasing number of enquiries as to whether the application could also be made available to the end users in the browser, a preliminary in-house study of available options began. Since a development as a native web application was ruled out due to high costs and long development times, the solution WebSwing was examined more closely. WebSwing enables the presentation of Java Swing applications as websites via middleware and thus a very simple distribution to end users, supplemented by a central administration and installation option. During the proof of concept, the questions of the testing possibilities of the new interface were also analyzed. It quickly turned out that QFS was already working on the topic with WebSwing – the informative webinar Integrated testing of Webswing applications with QF-Test helped us in quickly understanding the new context and ways of doing things. Particularly important for B+S was the reusability of our extensive QF-Test test cases and procedures that had grown over the years.

As this need was also met, WebSwing ended up beeing included in our service portfolio as an additional deployment option and is in use in the B+S data center since 2022.

Tests of Java Swing with WebSwing

 

Two challenges related to testing with WebSwing needed to be solved:

1. Tests of development-related stages are carried out locally. The WebSwing server is started by the testers. Therefore, QF-Test needs to start the WebSwing instance.

  • The first challenge was quickly solved after briefly contacting Gregor Schmid from QFS. We received a pre-configured test file and were able to quickly incorporate our (minimal) changes into the procedures to start the WebSwing server and browser locally. We were pleasantly surprised that all existing tests continued to work seamlessly. The component recognition is extremely reliable and stable, all IDs and recognition features remained unchanged – the tests were immediately ready for use.

 

2. Further test stages run on dedicated test environments that are updated automatically. The complete client/server application is continuously run, the services of the servers are managed centrally. To make matters worse, the test servers are clustered and load balanced, several test environments running in parallel on the cluster. QF-Test is therefore not able to start the WebSwing instance itself.

  • A little bit more attention was needed to solve the second challenge. Here, too, the necessary changes to QFS were pointed out or files were transferred. For example, QF-Test (Linux) must be installed on the WebSwing server and must be kept updated to match QF-Test on the client. After the implementation of the specifications, however, it turned out that the components are recognised as web applications, which results in new IDs for the Swing components.

    In a remote maintenance session, the problems were identified with Gregor Schmid and solved right away. For example, several ports had to be enabled on various firewalls. Ports must also be taken into account in the QF-Test start script. The integration of QF-Test with WebSwing on the server also had to be slightly modified in several places due to our server structure.

    Thanks to the excellent support from QFS, for which we would like to express our sincere thanks, the second challenge was also solved in a stable manner. The existing tests are now running here without any significant need for adaptation, too.

Mag. FH Jürgen Macherhammer, Project Manager, B+S Banksysteme Salzburg GmbH, Austria