Hi ksouthworth,
Because I had to squeeze Agathas strore into 4 chapters, coupled with that fact that I had worked on a lot of e-commerce sites before I didn't stick to a strict TDD process. However for real world projects I use a BDD process, or more precisly an outside in development methodolgy.
This is the process I use....
I first capture requirements/features as user stories (written by customers in their language) such as...
In order to receive a discount
As a customer
I should be able to apply a voucher to my basket
I then create some scenarios like..
Given I have an expired voucher
When I apply it to my basket
Then no discount should be applied
And a message should let me know that my voucher has expired
Given I have a valid voucher for 5% off of my order
When I apply it to my basket
The basket total should reduce by 5%
... etc...
Each line in the scenario is called a step.
With my user stories and scenarios, plus some screen mock ups on paper/paint, I work on a feature from the outside in. So I might pick the basket feature and I write a step from a scenario. I use SpecFlow as my BDD framework and WatiN as my web browser runner. I work from the point of view of a user and write the test to handle a voucher being applied to a basket, text box and button click etc. The step from the scenario will fail as there is no code for a basket, voucher etc so then I go 'inside' and flesh out a domain model, services etc - just enough to get the step to pass. I continue this way until my feature is complete, then I pick another. This way I focus on the behaviour of the system and I have working end-to-end software that the user can play with at a demo. After each test I will refactor the model to ensure it makes sense and has a simple design.
I hope that all makes sense, if not.....
I am in the process of writing a book on end to end development with SCRUM, XP and BDD, should be out in May:
Pro Agile .NET Development with SCRUM & XP
http://apress.com/book/view/9781430235330
I am also contributing to a chapter for a Wrox book that will cover User Stories, BDD and outside in development, but there is no link on Wrox at the moment.
Their is also a great book called the RSpec book about BDD in Ruby that is really good and worth a look.
let me know if you have any more questions.
Cheers
Scott