So I'm currently working on my 1st "sizeable" project (by that I mean one that is not just for toying around) and so I'm starting to think of how to effectively going about testing. Currently, I'm still in the experimental phase where I'm just trying to decide the features I need for my game and how they will all fit together. I'm thinking that, realistically, if I really want to go about 'officially' testing anything then I need to get my api's somewhat solidified. So in the meantime I'm just fixing bugs as I go along. In a way I think this counts as a testing phase as my code is constantly getting interacted with and used in different ways which brings up more bugs to fix naturally. Though some of the bugs are starting to get difficult to pin down and can take longer than I would like. I guess my question is what exactly are the best practices for testing your game? For the experimental stages do you essentially do what I've been doing and just really on whatever current debugging tools you have and fix things along the way and then once you feel your api's are pretty solid you start performing some unit tests/integration tests where applicable? If so, what sort of integration tests do you do for games? Right now that term seems sort of vague so not sure exactly what goes into an integration test.