Jeff's Blog

Musings about software development, Java, OO, agile, life, whatever.


Wednesday, April 01, 2009 
Unit Testing Maturity Scale
  • Level 0 - Not Performed: Tests? We don't need no stinkin' tests!
  • Level 1 - Performed Informally: Test-after development (TAD). Sporadic coverage, individual-level process adherence.
  • Level 2 - TDD:
    • TDD Level 0: Chaotic. Some developers do TDD. Others don't care if the tests break.
    • TDD Level A: Performed Informally. The team agrees that unit tests must pass in the build. Developers pick and choose what should be test-driven.
    • TDD Level B: Performed Consistently. All team members build unit tests. Some unit tests are not focused enough (tendency toward integration tests). Tests do not "document" very well. Sporadic production code refactoring enabled as a benefit of having tests.
    • TDD Level C: Breakthrough. Team members use each TDD cycle to refactor production code and tests, but constrain to single classes (test+target). Most tests clearly document class capabilities.
    • TDD Level D: Optimizing. Standards around test organization, naming, and structure are evident from the code. BDD in heavy use. Team actively looks for reuse across tests, and continually refactors "mother" and other test utility classes.

This is a work in progress! Please help me iteratively and incrementally improve it.


Comments:
Level 3 - BDD
* Level 0 - TDD being called BDD
* Level A - Ubiquitous naming
* Level B - Single line tests, test refactoring
* Level C - Testing DSL
 
Nice!
 
Post a Comment

Links to this post:

Create a Link



<< Home

RSS Feed (XML)

Archives

February 2004   March 2004   May 2004   September 2004   October 2004   January 2005   February 2005   September 2005   October 2005   November 2005   December 2005   January 2006   February 2006   March 2006   June 2006   August 2006   January 2007   February 2007   March 2007   April 2007   September 2007   October 2007   November 2007   December 2007   January 2008   February 2008   March 2008   April 2008   May 2008   June 2008   July 2008   August 2008   September 2008   October 2008   November 2008   December 2008   January 2009   February 2009   March 2009   April 2009  

This page is powered by Blogger. Isn't yours?