Monday, June 15, 2009

Update for Software Testing Workshop

My semi-annual testing workshop at SWS is approaching. In the theoretical part I want to incorporate some insights I picked up recently:

From Aslak Hellesøys presentation "Executable User Stories with RSpec and BDD" (slides):

Where errors are introduced (according to CHAOS report):

Sample chart


This should put developer testing in the big picture of software development.
  • Developer testing is traditionally focussing on code, maybe also design.
  • Techniques like BDD, FIT and Acceptance Testing can also help to takle errors in the requirements.
  • Validation (in contrast to verification) can also help to uncover problems in design and requirements. Validation can be accomplished prior to the creation of the software artifacts.


  • From Jay Fields talk "Developer Testing: Welcome to the Beta Test":

    Most important characteristics of good unit tests:
  • Readable
  • Reliable
  • Performant

  • Reasons to write tests:
  • Design
  • Protect against regression
  • Achieve sign-off
  • Increase customer interaction
  • Document the system
  • Refactor confidently
  • Ensure the system works correctly

  • Unit testing suggestions:
  • Setup methods are evil
  • Test one thing at a time
  • Maintainability > DRY
  • Test names are comments
  • Zero or one mock per test
  • Expect literals
  • Create test data builders

  • Related Posts Plugin for WordPress, Blogger...