0

I'm developing a program to receive and parse market data from a exchange. What's the best way to test my program during the development? The data was sent via a multicast socket, but I don't have access to the socket before the program's correctness and performance is "fully" tested.

The test methods I came up so far: 1. use the TCP recovery channel provided by the exchange (not suggested by the exchange since it's not for TEST) 2. save some data in binary format, then set up a multicast test channel locally to simulate the actual environment

Any better ideas?

Oliver Charlesworth
  • 267,707
  • 33
  • 569
  • 680
GuLearn
  • 1,814
  • 2
  • 18
  • 32
  • 2
    This sounds like a case for using a [mock object](http://en.m.wikipedia.org/wiki/Mock_object) to abstract away the socket stuff during testing. – Oliver Charlesworth Apr 01 '13 at 15:24

1 Answers1

1

You cannot really test "performance" until you are connected to the exchange - most exchanges provide a development connection (some will charge for this service) Typically the traffic levels aren't anywhere near production, but it's a good environment to test your program. I would check with your account manager to see how you can get access to the test environment.

You can validate your parser using canned data, but any performance numbers from this are effectively micro-benchmark numbers - hence take with a large pinch of salt.

Nim
  • 33,299
  • 2
  • 62
  • 101