Dog bone approach to testing

We testers like our testing “shapes”.  For example consider the Testing Pyramid

test-pyramid

Well then, here is my contribution.  This is the dog bone approach to testing.

image

It is shaped like a dog bone because it is fat (more effort and resources) on both ends and skinny (less effort and resources) in the middle.  The three boxes represent:

Developer Testing

Unit Testing, Test-Driven Development, Behavior-Driven Development, Component, Inter-component

BUFT: Big Up-Front Test

End to end functional testing, Non-functional testing (see more here)

TiP: Test in Production

  • Using real (organic) and synthetic transactions and data in production
  • This is about Discovery – what we cannot know before contact with production.
  • It includes customer experience as part of the quality assessment
  • (yeah, I went back to using TiP instead of DDQ…)

Note that whenever we find a problem downstream that we could have found upstream, we roll this information back upstream – for example if we find a bug in production that could have been found with a unit test, we add that unit test and then assess why we missed that unit test in the first place.

In summary we need strong up-front testing to prevent where it is cheap and high value (the developer testing), but as test costs increase due to environment and complexity (BUFT) we only want to do as much testing as needed to gain confidence so we can dip our toes into production.  It is in production that we learn things we could not learn pre-production.

Tags:

One Response to “Dog bone approach to testing”

  1. Seth Eliot's Blog » Blog Archive » The pyramid and the dog-bone revisited Says:

    […] previously talked about the dog-bone approach to testing, and how we testers love our shapes such as the Test Pyramid.  But I did not connect the […]

Leave a Reply