EatenOne:Anyone have any info as to how these certifications are performed? Code review? QA Testing?
The standard certification process involves a mixture of QA testing along with some automated verification that uses specially instrumented versions of the system software. It's a laborious and expensive process.
For products that are deemed to have a particularly high security risk, of which the XNA Framework most certainly is one, we also perform additional checks such as threat modelling and code review. That makes it even more laborious and more expensive than usual.
EatenOne:Doesn't sound practical for a game of any significant size. Not sure how patches ever get released at all if a full certification is required each time a game is patched.
It's not at all easy. But on the plus side, this gives developers an incentive not to make mistakes! On a platform like Windows where you can quickly and easily put out any patches you like, it's easy to think "hey, we have a bunch of bugs, but whatever, we'll ship anyway and then fix them next month". On a console you have to factor in that you are going to have to pay a lot of $$$ to certify that patch, so maybe it would make more sense to just hold back the release and do things properly in the first place :-)
EatenOne:
Is automated unit and integration testing in vogue in the game development circles yet?
I don't believe most game developers make much use of automated testing. Within the XNA Framework team, we do have very thorough automated unit tests. That's a separate thing from the certification process, though. The unit tests prove to us that our code works as expected, but the certification team will perform their own independent tests to convince themselves that it performs as they require. The system would be too easily exploited if the same team that made the product were also responsible for writing the tests that are used to certify it!
XNA Framework Developer -
blog -
homepage