Dissecting The Testing Quadrants – Wrap Up

And finally we come to the end of this exploration into the Testing Matrix, so what have I learned?

dunc-matrix

From my initial chat with James, I knew I had a fair challenge ahead of me.

We had completely deconstructed my understanding of the model & I was going to have to build that understanding back up again.

From looking at other people’s thoughts on the model, I could see they had fallen into similar, if not the same, traps as me.

One example included a comment from Lisa on her post “using the Agile Quadrants” from 2011 suggested that some people believed the flow through the model was linear – they would start in Q1 & work their way through to Q4.

This is primarily the reason why I chose to label the quadrants Top Left (TL), Bottom Left (BL), Top Right (TR) & Bottom Right (BR).

This is also the language I use when using the quadrants to discuss the testing – it saves people having to remember which quad is which.

Another change I’ve tried to represent is the movement through the matrix. For example, movement of artifacts, people & activities. This is harder than I imagined so I now have even more respect for those who have come before me in trying to shape the matrix.

The one quadrant which caused me the biggest headache was Bottom Right. The quadrant has always felt like a bucket for the leftover artifacts & activities which didn’t seem to fit anywhere else.

My approach was de-label what the artifacts were actually doing, such as performance or load testing, & think of them as another way of questioning a different aspect of the product.

This made it easier for me to determine if they could be run before or after writing the production code. From here, it was a case if determining if the Business would be interested in the results.

From the different incarnations of the matrix I observed (& related material) I really liked how Gojko pushed the scope of the Top Right & Bottom Right quadrants to include feedback loops of the code in the Production environment.

The subsequent comments made for interesting reading.

What the comments highlighted for me (& what I later found out for myself) is how hard it is to create a one-size-fits-all model. It’s almost as if the different variations of the model sit on a timeline, Brian’s matrix at one end, Gojko’s at the other & development teams need to pick one most suited to them (I say this tongue in cheek of course).

I was asked some great questions on the different representations post related to this idea of the timeline. They were focused on putting the different versions of the matrices into the context of what was happening in the software development world at the time of the matrix being updated.

Unfortunately I haven’t had time to go into that much detail in this tome, but I feel Gojko’s post clearly showed how software has development has grown since the matrix was conceived by Brian Marick back in 2003; 2 ends of a spectrum, as it were.

Most of the matrices agreed on the top & bottom rectangles, but there was a wide range in what the left & right columns were for. I found these differences most interesting:

Left ColumnRight Column
Support Programming (preparing & reassuring)Critique Product (uncovering prior mistakes and omissions)
Supporting the TeamCritique Product
Defect PreventionDefect Detection
CheckingTesting
ConfirmInvestigate
Check for expectedAnalyse unexpected / undefined / unknown
Test to SpecificationTest to Failure
Written before codeWritten after code

With Gojko’s matrix I mind, I’ve tried to use labels & language which allows the use of the matrix to stretch beyond the development environment.

One gaping hole I really want to plug is requirements gathering & refinement – such as the 3 Amigos process.

If we talk of testing as questioning a product, & it is possible to question a product in different states, then I feel requirements refinement is questioning the product in the Business stakeholders head.

Although it doesn’t have the label “Requirements Test” or “Stakeholder Test”, we are still questioning a version of the product & how it should behave.

You know what – I’m going to add “Stakeholder Test” to TL & refine that idea.

One final note, I believe Lisa & Janet have a chapter in their new book looking back at the testing quadrants & where they are now - it’ll be interesting to see their take on the evolution of the quadrants.

Previous posts:

Post 1: Intro

Post 2: Rectangles

Post 3: Columns

Post 4: Different Representations of the Model

Post 5: Example usage of the matrix

 

 

  • Pingback: Dissecting The Testing Quadrants – Some Examples | Duncan Nisbet()

  • Pingback: Dissecting The Testing Quadrants - Different Representations | Duncan Nisbet()

  • Pingback: Dissecting The Testing Quadrants | Duncan Nisbet()

  • Pingback: Dissecting The Testing Quadrants - Columns | Duncan Nisbet()

  • Pingback: Testing Bits – 4/20/14 - 4/26/14 | Testing Curator Blog()

  • Lisa Crispin

    I like your labels for the four sides, I will try thinking from those angles when planning testing for a capability and see where they lead. The quadrants have always helped me and my teams realize there might be gaps in our testing or that we aren’t prepared for some types of testing we need to do. I like the “can work” on the left, because the behaviors we identify before and during coding don’t always turn out to be the desirable ones, or we might trim scope. I like how you label the quadrants as “TL” etc. Much easier than numbers, wish Janet and I had thought of it!
    I’m sorry to hear that the BR on our model seemed like a dumping ground for things that didn’t fit elsewhere. We believed it was one of the most critical quadrants, because in our years on agile teams, we found that many types of non- or extra-functional testing such as performance, security and the like were forgotten as the team cranked ahead with TDD and BDD/SBE/ATDD on the functionality. I’m concerned that these could also be forgotten by teams using your model. I didn’t see you addressing these types of testing in your other posts, though definitely learning skills for those other types of testing is a way of honing our craft.

    I am keen to hear from other people who try out your quadrants model and what they discover! Thanks for this blog post series, it is so thoughtful and we would all benefit from talking about it more.

    • DuncanNisbet

      Hey Lisa, thanks for stopping by & adding your voice - its nice to get some critical feedback!

      WRT BR, it wasn’t primarily your quadrants which triggered my comment - it came from Brian’s original post:

      “So it seems that preventing or finding these {“ilities” or non-functional or para-functional requirements} bugs has been left out of the story so far. Fortunately, there’s one quadrant of the matrix left. (How convenient…)”

      http://www.exampler.com/old-blog/2003/09/25/#agile-testing-project-6

      Just re-reading the post again with “bucket” filter on, it appears there is more logic than I first thought.

      The point I was trying to get across was that those “”ilities” or non-functional or para-functional requirements” should not be differentiated from the functional requirements & that they are perhaps now more in the Business interest than when the matrix was originally conceived. (I guess that might be a question for Brian…)

      This sounds like its similar to your experience where the testing has been forgotten. I have implicitly removed the differentiation between non functional & functional as they are behaviours of the product but I fail to mention that fact in the post.

      I’ll need to revisit that section & dig deeper to clarify my thinking - thank you for the prompt 🙂

      Thank you for comments on the labelling - please let me know how you get on with them!

      Finally, I’m looking forward to seeing how you’ve seen the quadrants evolve (as well as other concepts from the 1st book) - will be good to get your take on things. I’m sure this series will need revisiting afterwards!

      Duncs

  • Pingback: Dissecting The Testing Quadrants - Rectangles | Duncan Nisbet()