|Mar 22, 2007||–||Jolted!|
Coding in Public
I can code passably well and I am comfortable with public speaking - but there is something about combining the two that makes my brain just completely shut down.more >>
|Mar 21, 2007||–||At SDWest Expo A couple of weeks ago I was here at the Santa Clara Convention Center for EclipseCon and now I'm back for SDWest. Rather than speaking, this time I'm just here on booth duty. (Bob is the one doing the talking this time.) If you feel like chatting about developer testing, CruiseControl, CITCON or even AgitarOne stop on by and say hi.|
|Mar 20, 2007||–||
Characterization Test Failures
For completeness, I run the characterization tests one last time. As you might expect, there are failures because the behavior of
I am impatient to be done now, so I'll try to get through the code for spares quite quickly so that I can review my findings.more >>
How Are Those Characterization Tests?
Someone asked me how the characterization tests fared after such an extensive change. After all, I added new methods, new behavior to existing methods and I refactored extensively.more >>
How Are Those Acceptance Tests?
With the code for strikes written, it's time to run the acceptance tests to see if they agree that we are done.more >>
SD West Talk: To Catch a Bug, You Have to Think Like a Bug
Tomorrow morning, I'll be giving a talk at SD West 2007 on developer testing. It is a a very opinionated look at how to test your code. It should be fun and useful. If any Agitators or other test afficionados are going to SD West, it would be great to see you at the talk, or afterwards as well.
Here are the details:
According to the rules:
2.1.3 A strike is made when a full setup of pins is knocked down with the first delivery in a frame.more >>
|Mar 19, 2007||–||
Characterization Tests Revisited
Before I move on to the next story, I want to revisit those tests and make sure we have not introduced any regressions.more >>
How does the Score Sheet Look?
Before I move on to spares and strikes, it would be nice to see how the score sheet looks. In an earlier post, I claimed that one of the reasons for integrating the UI early is to make sure the domain model will satisfy the requirements of the user interface. Let's see if it does.more >>
|Mar 16, 2007||–||
Are We There Yet?
My last post ended with this bold assertion:
If I am not mistaken, I have written enough code to pass the acceptance tests for this story.more >>
|Mar 15, 2007||–||
First Design Your Data Structure
It's at about this stage of the bowling example that people usually leap into a discussion about the appropriate data structure to store the rolls and the APIs for exposing the results.more >>
In which we design the score card
In the previous installment, I wrote the code that implements rule 2.1.1. For rule 2.1.2, I finally start to add up some scores and show them in the score card.more >>
|Mar 14, 2007||–||
Avoid Shallow Eyes
Jared posted a cogent argument for peer code reviews that is worth reading if only for the killer line
With enough code, all eyes are shallow.
|Mar 12, 2007||–||
Testing Around the Edges
It's an interesting word, 'test'. It can mean so many things. Before XP came along it used to mean
find out whether something works correctlymore >>
A game of tenpins consists of ten frames
In my previous blog entry, I posted a set of acceptance tests for the first few stories. It's time to start writing the code to pass those tests. I prefer to discover the design through TDD rather than code directly to the customer-facing tests.more >>
|Mar 9, 2007||–||
Acceptance Test for Bowling Scorer
I have often written acceptance tests for code that has not yet been written (in fact, I wrote an article about it) but I have never written tests that will work with any number of implementations, each with their own architecture. I don't even know how to go about it, but that never stopped me before...more >>
Bowling for Objects
"scoring a game of bowling" is probably the most common application used when demoing TDD. It's so commonly known among the JUnit crowd that I chose one of Bob Martin's efforts as a demo for JUnit Factory.
The topic comes up about once a year on the TDD mailing list and it just came up again. By an odd coincidence, we just celebrated the completion of a new release of AgitarOne with a trip to Homestead Lanes, so I am all fired up about bowling despite my dismal performance (there was beer involved).more >>
|Mar 8, 2007||–||
EclipseCon and Ward Cunningham
For me today was my best day so far at an EclipseCon, but as usual for a conference (except CITCON!) the most interesting stuff was what happened outside the talks...more >>
|Mar 6, 2007||–||
CITCON Dallas Registration Open
We are proud to announce that registration is now open for the next Continuous Integration and Testing Conference, CITCON Dallas on April 27th & 28th. Space is limited to the first 100 registrants and attendance is free. Registration is on-line and while it is open until April 13th we do expect to fill all the available slots, so sign-up soon to reserve your spot.
The conference will be following the same Open Spaces (or unconference) format as the 2006 CITCON in Chicago and London. These prior CITCON drew enthusiastic practitioners at all levels of experience, all looking to share what they knew and to learn what they could. We're looking for more of the same in Dallas.
Please help spread the word about CITCON and we look forward to seeing you there!
EclipseCon Panel on Developer Testing
If you're at EclipseCon this week you might be interested in stopping by the panel Making Unit Testing Part of Your Development Process: How to Get Your Team to Do It. I'll be there as a panel member... but it should be a good panel anyway. ;-)
|Mar 5, 2007||–||
CruiseControl 2.6.1 Released
Last week CruiseControl 2.6.1 was released. In this release there are several bug fixes but also an odd little plug-in that seeks to address a common problem with inter-project dependencies. Read on to learn about the new Veto plug-in and how it can help keep your projects building in the correct order.more >>