Difference between revisions of "Different Styles of TDD"

From CitconWiki
Jump to navigationJump to search
(Added some of the stuff we talked about during the session.)
 
 
Line 1: Line 1:
Mentioned:
 
 
 
Uncle Bob's rules of TDD: http://blog.jeffreyfredrick.com/2008/06/27/blog-recursion/
 
Uncle Bob's rules of TDD: http://blog.jeffreyfredrick.com/2008/06/27/blog-recursion/
  
 
Michael Feather's rules of unit tests: http://www.artima.com/weblogs/viewpost.jsp?thread=126923
 
Michael Feather's rules of unit tests: http://www.artima.com/weblogs/viewpost.jsp?thread=126923
 +
 +
BY SPEED
 +
 +
  1. Quick Test (in CI: 100 tests/sec)
 +
  2. Slow Test
 +
 +
BY TEST DOUBLE
 +
 +
  1. Stub
 +
  2. Mocks
 +
      steve freeman - paper/newsletter - mock is not for testing, but interface discovery
 +
      i.e always write adapter to talk to 3rd party library
 +
  3. Object Mother
  
 
Types of Test Doubles: http://xunitpatterns.com/Test%20Double.html
 
Types of Test Doubles: http://xunitpatterns.com/Test%20Double.html
 +
 +
BY LEVELS
 +
 +
  1. Atomic - test double
 +
  2. Molecular - a few classes together
 +
  3. Integration
 +
  4. Functional / Acceptance
 +
 +
BY ASSERTION TYPE
 +
 +
  1. example
 +
  2. theory
  
 
Randomized test data/Theories: http://xunitpatterns.com/Test%20Double.html
 
Randomized test data/Theories: http://xunitpatterns.com/Test%20Double.html
 +
 +
DEV: does the work code as dev expect
 +
QA/TESTER: does the app work as client expect

Latest revision as of 22:25, 29 June 2008

Uncle Bob's rules of TDD: http://blog.jeffreyfredrick.com/2008/06/27/blog-recursion/

Michael Feather's rules of unit tests: http://www.artima.com/weblogs/viewpost.jsp?thread=126923

BY SPEED

  1. Quick Test (in CI: 100 tests/sec)
  2. Slow Test

BY TEST DOUBLE

  1. Stub
  2. Mocks
     steve freeman - paper/newsletter - mock is not for testing, but interface discovery
     i.e always write adapter to talk to 3rd party library
  3. Object Mother

Types of Test Doubles: http://xunitpatterns.com/Test%20Double.html

BY LEVELS

  1. Atomic - test double
  2. Molecular - a few classes together
  3. Integration
  4. Functional / Acceptance

BY ASSERTION TYPE

  1. example
  2. theory

Randomized test data/Theories: http://xunitpatterns.com/Test%20Double.html

DEV: does the work code as dev expect QA/TESTER: does the app work as client expect