I'm working on a server for a very large (feature wise) MMO. After some bad experiences with breaking changes that caused bugs weeks down the line, we'd like to add unit/automated/regression tests to our project before we get much father (we've implemented approximately 5% of our requirements).
We haven't really used "serious" tests before (we've done the tutorial check-division-by-zero testing) so I thought I'd locate some guides for developing client-server test solutions. I was not able to find anything of much relevance. How should I deal with testing the following aspects of a typical server?
- Testing the client-server communication (API can be broken down into "parsing", "handling" and "sending" stages)
- Testing changes to an SQL database
- Testing security measures
- Testing around security measures (ie, making sure our tests don't trip our own security code)
- Testing timed events
In case it's relevant, our language is C#, .Net 4.5