A leading global investment banking, securities and investment management company, the firm provides a wide range of financial services to a substantial and diversified client base.
The project: A trading reporting package using automated test scripts
As required by the regulator, the client was testing its trading reporting package. It was using FitNesse, a stand-alone wiki and acceptance testing framework that generates automated tests, and which was being used to write scripts for the trading package. Once the necessary variables were input to the package in order to simulate trades, the system generated FPML.
However, this solution was not very user-friendly for the people who needed to use it, namely, the operations team. They knew what needed to be reported on, but not how to write test cases. For example, the difficulties encountered with FitNesse included the syntax, which needed high levels of precision, and it was unclear which variables needed to be entered, nor in which format.
We were tasked with making it easier to write new test scripts while retaining and making use of the intellectual effort that had already been expended by the team in the form of hundreds of test scripts.
Ten10 wanted to implement a system that would allow the operations team to define trade parameters regardless of the underlying source system and then to check that the regulatory output in FPML was correct. The system should also classify the tests to tag them with metadata related to the tradeable asset class, jurisdiction, and so on. This would avoid duplication of tests and allow management to see coverage reports. The tool should also integrate with the client’s test execution farm, and allow tests to be scheduled and run on the farm.
The client is a very large company with team members dispersed globally, so Ten10 needed to work with people in places as widespread as Japan, India, and the USA as well as the UK; co-ordination across many timezones was required. Also, the various individuals and teams were not fully aligned as to their goals and requirements, mainly around issues of look and feel, which led to some tensions and required some stakeholder management on the part of Ten10. Also, we needed to persuade the client’s teams to modify how test scripts would be created in future.
Creating a successful, user-friendly test suite
The key requirement was a test tool that would be useable by operations team members, saving them effort and time. So Ten10 created an application in Java and Python that would present the information required by the user in an attractive user interface, and which prompted for the required values. We also embedded intelligence to examine existing test scripts for similar trades, and suggest potential values using those examples. For example, if a particular trading platform accepts only euros as a currency value, the tool will prompt for it.
The system then took those values and rebuilt the FitNesse pages, which could then become part of the test suite. After a considerable amount of discovery, we defined the solution for the client. The client’s teams accepted Ten10’s rationale for modifying the methodology for the creation of test scripts.
For us, the key decision was to step back and look at the wider problem in order to devise a technical solution that would satisfy the business need, using our experience from many other verticals. We delivered the solution using the agile development methodology, which allowed the client to provide feedback along the way and improved the speed of delivery of the final solution.To download the case study PDF please click here