FRUUG - Front Range Unix Users Group
FRUUG home
meeting
meeting archive
about FRUUG
library
join FRUUG
jobs
contact info
top_left
inside

Test-Driven Development

At our May, 2005 meeting, Jim Elliott gave us a one-hour condensed version of the Test-Driven Development course he's teaching at the University of Colorado.

TDD is a software engineering process with roots in eXtreme Programming. The core idea is that developers write a test first, then code to that test. You may already know this approach as NCLB ("No Code Left Behind").

Jim bravely developed a class right in class, using the TDD traffic-light model popularized by the movie "Starman": "Red light, stop. Green light, go. Yellow light, go faster." Code that doesn't work lights the red light in the IDE. Code that works lights the green. Code that doesn't even compile lights the yellow.

At each stage, an agile programmer does the least work necessary to change the color, in the order Yellow->Red->Green->Yellow->.... We saw that this can lead to unexpected results, but the approach lets developers create and fix one bug at a time, in contrast to the more traditional process of "Write code for a few months, then test and debug until your girlfriend dumps you."

Jim's presentation was OO-Oriented (OOO), focussing on automated unit testing of classes. Currently the best TDD support comes from Junit, using a Java plugin to the Eclipse IDE; the presentation we saw would port seamlessly to the Java User's Group. Nevertheless, Jim promises it's possible to do TDD in C++ and maybe also other languages.

Folks who want supervised practice in TDD/NCLB can get it in a course Jim gives for CU Continuing Ed. The taste of Jim we got says it is, without a doubt, a first-rate class.

The only real problem I had was that everything was in Windows, with comments like, "In Visio, you can put in arrowheads, but they disappear in PowerPoint or Microsoft Word," and "Eclipse is sort of like an extensible version of the IDE for Borland C." If you're a FRUUG participant and have a UNIX-oriented presentation to give, please tell Steve Gaede or someone else on the FRUUG board. FRMUG is too hard to pronounce.

Jim's slides are available as a slide show.

Thanks to Jeff Haemer for this meeting writeup!

Site Map Recruiter Info
February 15, 2009

February 2008: FRUUG Enters Quiescent Phase
After 27 years running, we're suspending operations.

Future Meetings:
None planned

Site by
Lone Eagle Systems, Inc.,
Hosted courtesy of Indra