FIX Protocol Testing
Testing a FIX protocol integration can be broken down into 2 areas:
- Session Layer
- Application Layer
Session Layer Testing
The most common use of the FIX protocol is over a TCP/IP socket. At the start of FIX session, the FIX initiator will open a socket to the FIX acceptor. Once the low-level network communication has been accepted, the first FIX message exchanged will be a Logon message. If the message is formatted correctly and the FIX acceptor validates and accepts the Logon, the acceptor will send a Logon message back to the initiator confirming the session has started. If the message is rejected, the low-level socket is terminated.
Provided the Logon request was validated above, the basic FIX connection has been established and message exchange can occur. In testing the Session Layer, FIX provides mechanisms for guaranteed message delivery and message order. In testing the session layer of a FIX interface, simulation of dropped messages, unexpected message sequencing, and requests for replays and duplicates are required.
FIXSIM provides the ability to send invalid messages, resend requests, and process resend requests from your FIX enabled application.
Application Layer Testing
The session layer will ensure the transportation and formatting of messages are valid, while the application layer contains the business logic validation. For example, if an order is submitted for buying 500 shares of AAPL and the execution provider reports an execution of 700 shares. While the message is formatted correctly, the data is unexpected. In this case, the execution should be rejected as the quantity is greater than expected.
FIXSIM allows the users to create both expected and unexpected messages to ensure both sides of the interface handle the exceptions. Testing the business logic requires the flexibility to create and modify FIX messages to simulate scenarios.
With our web-based portal, easily configure and monitor FIX message traffic. See orders and execution messages and control how orders are executed.
See direct FIX message traffic and view messages in raw FIX format as well as translated tag numbers and values.
Our trade blotter views provide you with a trader's viewpoint on active orders. See order quantities, average prices, and execution values. Take action on orders in the blotter with actions like: Partially fill, cancel, correct prices, and more right from the web portal.
Having an automated solution to FIX testing provides assurance you maintain compliance with FIX integrations. Build, design, and fun repeatable FIX test cases with FIXSIM.
Use our web portal to build rules and actions to respond to messages. For example, if an order is received in FIXSIM for IBM, acknowledge the order, partial fill, and cancel the remaining quantity. Configure your FIXSIM sessions to your testing scripts to provider user free automation.
We offer our Web API to directly control FIXSIM via RESTful calls (e.g. Curl). Using Swagger/OpenAPI, our API is fully documented and can easily generate a client in any language (C#, Java, Ruby, more). This provides you with the full power of FIXSIM to be controlled by your application.
Customer Recommendations Join the hundreds of customers who use FIXSIM. We're also our own customer!
"We started with our UK QA team, now rolled out to global teams!"
"Essential to help us stress test clients accessing our Dark Pool"
"As a contractor, I use FIXSIM for helping build FIX solutions for my clients."