Automated test tool review, recommendation and implementation
The client: A leading inter-dealer broker
Industry: Capital Markets
Technologies: JVM, Java Swing
Ten10 services: Consultancy, tool review, test
The client is a leading financial markets operator and provider of execution and information services, and plays a pivotal role in bringing together buyers and sellers in wholesale financial markets globally.
The client had procured and was maintaining and further developing its brokerage platform that would be used internally by the company’s brokers. The brokerage platform is a desktop application running on the JVM with a user interface (UI) based on Java Swing.
A team of developers maintained the legacy code of the platform in Java, with two developers focusing on the UI aspect of the application, adding functionality or updating the previous interface. The team had developed a limited number of unit tests, but had introduced neither automated user interface tests nor tests for integration into other systems.
Ten10 was asked to provide an assessment of tools for the test automation of the application’s UI, implement a proof-of-concept for the selected solution, and train the client’s resources to use it effectively.
Ten10 was tasked with investigating alternative tools to automate tests of the application, assessing them against criteria such as ease-of-use, barriers to adoption, and integration capabilities. The preferred test tool needed agreement from all the stakeholders involved; specifically the Development, Test and DevOps Teams. Once the tool was installed and running, Ten10 needed to demonstrate its features and recommended use via a proof of concept using sample scripts that exercised the application’s key UI features, and which supported the incorporation of the selected test automation capability into the client’s continuous integration processes.
Finally, the test automation approach would need to be presented and handed over to the application development team, as they would be undertaking automation of the complete regression suite once the engagement was complete.
The core challenges included the application’s use of legacy code that was designed with neither automation nor integration with external systems in mind. The testing capability of the team was limited, focusing mainly on manual functional testing.
Another challenge was the platform’s use of Java Swing whose automation, like most desktop graphical user interfaces (GUI), can be non-trivial to automate, especially when relying entirely on open-source solutions.
Ten10 performed a tool assessment exercise, following an agnostic approach when seeking software candidates. Criteria for selection included each candidate’s ease of use, the efficiency with which new tests could be created, and an ability to interact with the various UI aspects of the brokerage application. The candidates’ maintainability, cost, readability and reporting were also all taken into account.
The two main contenders consisted of an open-source library and a commercial solution, both of which were capable of addressing the issues already cited. Ten10 provided the client with the advantages and disadvantages of the two solutions, the open source solution demonstrated a clear advantage in terms of code maintainability and suitability with the client’s team skillset.
A new framework was designed and implemented based on the open source library, encompassing best automation practices, such as the page object model, separation of data and code, and maintainability and readability of tests.
Ten10 then provided recommendations for the inclusion of the solution into the client’s continuous integration processes and platforms. Test scripts and a framework were provided, and as part of a training exercise, Ten10 showed the client’s development team how to use both the open source library and the test scripts, and demonstrated the risks and challenges. Best practices and approaches for automation suite maintainability were also discussed during these training sessions.
By building the foundations of the brokerage platform’s UI-automation capability, Ten10 enhanced the client’s UI testing capability. Not only did this result in helping the development team to adopt best practices in test automation and expand the automated testing coverage on their system, but they were also provided with a tool they could make use of and customise in the future if required.