[Home]FitBookNotes

HomePage | RecentChanges | Preferences

For the 2005-11-01 meeting, I did a presentation on the book "Fit For Developing Software" by Robert C. Martin [Amazon]. I would recommend the book to anyone interested in learning how to use tests to facilitate communication with your customers. It also has good coverage on how to structure and implement FIT tests.

After taking notes on the points covered in the book that I thought were most interesting, I rearranged them into a semi-coherent presentation. Here are my notes for that presentation. This presentation focuses more on the "why" half of the book, though the book has a very good "how" half as well.


Writing tests can be a simpler and faster way to get feedback than mocking up a GUI or building a prototype app.

Tables: clear and simple structure; everyone understands and can use

Can brainstorm story card by writing (action/flow) test tables.

--

Book addresses three "problems": Communication, Agility, Balance

Two kinds of business rule: 1) calculations / decisions and 2) processes (steps)

--

How FIT fits in XP:

Normal XP: create story -(A)-> devs estimate -> choose stories for iteration -(B)-> develop -> done when all tests pass and no outstanding issues

FIT: at (A): create initial rough FIT tests. at (B): more FIT tests - towards final set

Note: tests and development in parallel, though tests get a head start

--

Good starting points for first FIT tests (pg 102):

When adding tests to existing code, start simple and build up; simplify problem until you get a foothold

Throw something up, then improve

Don't get hung up on non-fundamental issues

--

Refactoring

Once you have tests, they can be refactored (p106)

--

Common fixture types:

--

Technique: can pass params that affect whole table on first line (using Do Fixture and fixture swapping) (p129)

Test maintenance problems can be a sign that business rules are not being expressed in the most direct way

--

Principles of Test Design: section 18.1 (p155)

smells: meaningless numbers; poor names; brain twisters; unnecessary details; tangled tables; split values; long tables

workflow smells: missing sad paths; calculations slow with workflow (workflow used to test calculations); long workflow tables; unclear workflow; missing tests (need 0, 1, n); rambling workflow (use Do Fixture); similar setup; convoluted setup

calculation smells: many columns; not calculating; many rows; no related workflow

list smells: too many list columns; too many list rows

smells: duplication; tests changing often

Keep automation in mind - don't do things that aren't automatable:

--

Summary p172


HomePage | RecentChanges | Preferences
Edit text of this page | View other revisions
Last edited November 20, 2005 7:59 pm by 192.168.1.50
Search: