The first and highest priority feature that we need to implement involves accessing our database from anywhere on the Internet. As stated previously, we do not specify directly which platforms our customers use, so whatever access mechanism we come up with must be interoperable with their systems. To this end, we plan to use an ASP.NET Web service to retrieve recording information from our database.
The different aspects of the Web service implementation are detailed in Chapters 5, 6, and 7. Chapter 5, Programmer Tests: Using TDD with ADO.NET focuses on the implementation of a Data Access Layer using ADO.NET within the context of the solution. Chapter 6, Programmer Tests: Using TDD with ASP.NET Web Services, describes the Web service portions of the feature. Finally, Chapter 7, Customer Tests: Completing the First Feature, focuses on tests written by the customer using an open source testing tool called FIT ( http:/ /fit.c2.com ). These tests are used to verify that the story is implemented correctly from the customer s perspective.
We really did not implement the feature in the order that is documented in the chapters. We started out on the client, and we eventually accessed the database and returned values one test at a time. However, the number of steps and the amount of detail that needs to be shown is overwhelming (and frankly pretty boring). We know because we tried it that way first, and we fell asleep writing it. Therefore, we choose to make the chapters more topical instead of using the narrative approach. Describing the solution in this manner also allows us to show aspects of testing that might not be needed for the solution but are important things to keep in mind when writing tests.