In the ongoing pursuit of efficiency and cost awareness among market participants, trading technology is often at the center of attention. Still there is at least one key function in trading systems left largely untouched by productivity and streamlining measures, and that is testing.
Manual testing of trading infrastructure solutions remains prevalent within today's financial markets. Even routine tasks such as regression testing are typically performed manually. This is surprising, considering that testing is an area that is particularly well suited to automation.
Automation has the potential to save time and reduce costs while improving quality by reducing the risk of errors. It can also facilitate regulatory compliance, another pressing issue for market participants.One commonly used approach is to employ offshore services for labor-intensive manual processes, such as regression testing regimes. But this amounts to little more than a cost control measure, a solution which simply lowers the price for what remains inadequate testing.
Automated testing is simplified by the far-reaching standardization of information exchange in financial markets, which applies to transactions and market data. Standard protocols and APIs define specific models of behavior that enable the use of model-based testing, which is not limited to human thought of how a system should, or could possibly behave.
Using automation techniques such as model based testing and service virtualization, testing can be performed dramatically more effectively while enabling more fine-grained testing. The cost per test case can be reduced by orders of magnitude. This means that a higher volume of testing can be performed where the system is fully exercised, for the benefit of quality and reliability. The permutations generated by model based testing have a much higher likelihood of uncovering unexpected errors.
Further compounding the testing issue are changes by counterparties to their systems that can have an impact on internal systems. When one component in the trading infrastructure is upgraded, the entire chain needs to be tested. Many of these tests are standard and repetitive, which again makes an excellent case for automation.
Many sell-sides already use some testing automation tools, but these are mostly limited in terms of automation capabilities and functional scope. Even when firms have adopted best practices in the areas of continuous integration, continuous deployment, and DevOps, there is still considerable effort required to configure systems for various testing scenarios in complex distributed test environments.
This is where service virtualization, the ability to emulate behavior of systems based upon well-defined protocols, can provide significant benefits, reducing the manual workload and costs.
The learning curve and lack of available expertise may have limited the use of model-based testing and service virtualization, but unnecessarily so. Applying these practices in well-defined domains such as FIX can provide a powerful and readily accessible automated testing environment that offers an immediate return.
With a focus on improving existing processes and systems, automated testing is a first step in reducing overhead, simplifying system upgrades and taking advantage of new technology as it emerges.
Aside from the cost advantage, there is a clear business case for automated testing, as manual processes add to the risk of human error, which can lead to trading errors and lost business.
Finally, regulatory compliance is an additional factor when considering automated testing. Automated systems produce output that can be used to meet reporting requirements with little effort.