Swiftly
Testing a SWIFT gateway against the specification, not the vendor's documentation.
Product screens
Overview
I built a generator of realistic SWIFT statement flows that exposed where Bottomline's gateway handling differed from the specification.
Problem statement
A SWIFT gateway at a tier-1 bank needed a steady stream of believable messages whose balances add up across days. Real messages were sensitive and impossible to replay on demand, and the vendor's documentation could not be taken as the source of truth.
Solution
Templates for every legal shape.
I created sixty-eight templates covering short and long BICs, different sending-party schemes, multi-line narratives, forward balances and statements split across messages.
A financial model underneath.
I modelled account histories to keep closing, available and ledger balances and uncleared funds consistent from day to day, so statements reconcile with the notifications before them.
Designed for non-developers.
I built designers for organising environments, users, accounts and scenarios, plus an execution view that plays each sequence in date order and writes gateway-ready files.
Documentation for the team.
I wrote the user guide, including an appendix that maps every SWIFT tag to every message type.
Outcome
I built the tests from the SWIFT message specification rather than from the vendor's documentation. In 2012 that exposed places where the gateway's handling of the protocol differed from the specification, most visibly in optional and custom fields. The tool is about 22,000 lines of Java.
Technologies used
Data volumes & scale
- 68 templates
- 5 message types
- 19 tags modelled
- ~22,000 lines of Java
