Exploring Solution Spaces © Copyright 2003-2006, by C. Keith Ray
   


About
Exploring Solution Spaces, Keith Ray's blog on Software development and other topics.

Send comments to:
keithray@mac.com

For Agile Training, eLearning, or Coaching contact:
Industrial Logic, Inc.
866-540-8336 (toll free)
510-540-8336 (Berkeley, California)

Links
xpminifaq
Résumé
“Adopting XP” Article 2002 (pdf)
“ Refactoring” Article 2006
AYE Conference
Lucien W. Dupont
Elisabeth Hendrickson
Johanna Rothman's Managing Product Development
Brian Marick's Exploration Through Example
Esther Derby's Insights You Can Use
Laurent Bossavit's Incipient(thoughts)
Dale Emery's Conversations with Dale
Martin Fowler's Bliki
Creating Passionate Users

Archives

  • 2003
  • 2004
  • 2005
  • 2006
  • 2007
  • 2008
  • Subscribe
    RSS Exploring Solution Spaces XML


           
    2006.Mar.19 Sun

    Testable Design

    Roy Osherove writes (with examples) about how design improvements can make software testable. I know some readers will complain that these design changes somehow "weaken" the design, but they need to look at the bigger picture. In each example that Roy gives, the refactored (more easily testable) code has now separated concerns that were tightly-coupled. Tightly-coupled is bad.

    Repeat after me: "Tightly-coupled code is bad."

    Quote:

    Here’s my current definition of a testable system:

    "For each logical part of the system, a unit test can be written relatively easily and quickly that satisfies all the following PC-COF rules at the same time:

    Partial runs are possible
    Consistent results on every test run
    Configuration is unneeded before run
    Order of tests does not matter
    Fast run time"

    [/docs] permanent link