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


    1. Hi Jonas, this is good stuff. Could you clarify which year of the Chaos Report your statistics come from? I understand that the Standish Group have noted a year-on-year improvement in project success.

    2. Hi Immo,
      I have to admit, that I was very unprofessionally just copy-pasting the numbers from the linked presentation of Aslak Hellesøy.

      I tried to find the sources of those numbers on the internet, but the CHAOS report seems not to be freely available.

      My educational goal however is only to put developer testing in a relative context...


    Related Posts Plugin for WordPress, Blogger...