« Gamefest Talks Are Up | Main | TDD: etc »

August 28, 2007


Noel Llopis

Hey Jamie,

I've been meaning to write a bit more about TDD prompted by your recent posts. But I figured I'd jump in and add a comment.

I think the key difference in how I see TDD is that it's *not* about catching bugs. It's all about design. By taking some of those shortcuts (accessing files directly), you're hurting your design.

I'd recommend TDD not to people with buggy code, but to people with a blob-style code and who can't make changes fast enough.

Also, I'm curious by what metric you consider your code to be "worse" than before TDD. And I mean informally, not a hard metric. Do you think the code you write with TDD is pretty much the same you would write without it? I know that's certainly not the case for me!



I'm curious what, if any, testing you do around some of XNA's classes (like mocking Game) and around some of the more difficult areas to test with automation, such as your renderer.

I'd also be interested in hearing about your engine architecture from a bird's eye view. Your overall structure, what parts of XNA are you using, e.g. are you making any use of the components and services, etc.


The most value i've gotten out of TDD is in the framework pieces of the code. Things that are complicated and vital subsystems so that fixing a bug in there is always scary. Get a bug reported, write a failing test for it and release the fix, knowing the rest of the tests are watching out that your fix didn't break something else.

But I do keep finding places where TDD is not feasible to implement. Used to be just UI, but now I'm dealing with coordinating multiple processes across multiple machines, where the interaction of these is the thing to test (so no mocking them out) and the setup of all the pieces for an automated test just gets out of hand.

So i totally agree on finding the sweet spot approach.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.


Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)

Jamie's Bragging Rights

  • Spider-Man 2
    The best superhero games of all time Game Informer
    Top five games of all time Yahtzee Croshaw
    Top five superhero games of all time MSNBC
    Top 100 PS2 games of all time Official Playstation 2 Magazine
    1001 Games You Must Play Before You Die Nomination for Excellence in Gameplay Engineering Academy of Interactive Arts & Sciences
  • Schizoid
    Penny Arcade PAX 10 Award
    Nominated for XBLA Best Original Game
    Nominated for XBLA Best Co-Op Game