Automated Testing in games development
I work as a programmer in the boring, non game related industry, and there's something I've always wondered about what happens on the other side of the fence, as it where. Do game companies make use of Test Driven Development stuff such as unit testing, or do they rely entirely on manual QA testers?
In my work, if we release code with bugs in calculations, it can lead to some really nasty real world effects, such as someone building a multi-million pound wind farm in a place with no wind because a bug in our calculation told them it was going to be really windy (yes this has really happened). As a result, all our code goes through very rigorous automated unit tests every time it is built to ensure that whatever is released to the users is giving them the right answers.
Now, I know that game development doesn't need to be quite as rigorous as it isn't expected to precisely model the real world. However the reason I bring this up is the issue Elemental has had with the elemental shards not increasing the power of spells. This is the sort of thing that would be really easy to encapsulate in a unit test, leading me to believe that either Stardock doesn't use unit testing, or that its coverage is really poor. While unit testing isn't going to help with UI issues, AI failures or memory leaks, it would certainly help with these small annoying little calculation errors that seem to crop up a lot in games (not just Elemental either).
Is it just because TDD is seen as 'boring' by games devs, who are too excited about putting in all the bells and whistles that they don't have the time to make sure that things actually work?