I am currently reading the book “Why Does the World Exist?” by author Jim Holt. It is a series of philosophical discussions on “Why is there something rather than nothing?” which touches on the Big Bang, religion, being and other minor aspects everyday living. It is one of those books that I read a chapter, then have to sit back, think about it, and sleep on it before proceeding.

During one of these cogitation periods, a common theme of the discussions in the book struck me that applies directly to our software testing: the relationship of context to everything we do. One discussion in the book where it really struck home was the concept of null sets and the recursive case where a set has a null set as it's only member, then a parent set that has the new set as its only member. This expands to the counter-intuitive and paradoxical case of having an infinite set of null sets!

What struck me was that the answer (in my own mind) was simple: Each set was either empty or filled depending on the context of the set (which would relate to each of the test discussion published here at the STC). Where we get into trouble is when we take that step outside the boundary of the specific test context and the discussion strays to the conceptual “infinite” set of all tests. That is the point in our discussions where the “it depends on the context” response usually pops up to the well-meaning chagrin of the question author.

This discussion of context also came up in the introduction to a book on web services that I read many years ago. At the time, the web services being implemented were not fully defined in the standards. This made for implementations that all adhered to the standard, but were not compatible with each other. The author stressed this in the introduction by describing four basic contexts discussed in the book:

  • The Legacy – This is the context where you are discussing the way things were done previously. (“That's not the way it used to work.”) In software testing, this can be put in terms of “regression” testing or (wash my mouth out with soap) “best practices”.
  • The Present – This is the context where you are discussing the way you are currently doing it. (“We are ...” or “That is …”) This is the discussion you have with your co-workers or manager when you happen to stray and try something new. How this is handled is a good sign of whether your team is “agile” (small “a”).
  • The Future – This is the context where the discussion leads to what we plan to be doing. (“We will ...” or “We are planning to ...”) In the testing blogosphere, this leads to some fun and eventually inaccurate surveys of industry experts and inevitable short term discussions of the demise of testing. Of course, it is also useful in the context of test planning.
  • The Ideal – This is the context of what is the eventual (ideal) goal of the subject discussed (“We should ...”) When the discussion begins to stray into this area, that is where the “best practices” guardians start getting their bludgeons ready.

When I read or listen to a discussion, I make a point to watch for the speaker or author making a jump from one of those contexts to another. As with the discussion of null sets mentioned before, mixing the contexts in a single discussion can lead to some fun but otherwise insolvable paradoxes. This can be avoided by specifically stating when you are straying from the original theme of the discussion (e.g. from the Present to the Ideal).

The book I am reading makes me wonder if the concept of the philosophical tester is tenable in our industry. If you have a love for the philosophical, I would suggest supporting the author and buying the book. It is interesting mental journey into the context of the ideal and infinite from the everyday present.

Views: 228

Add a Comment

You need to be a member of Software Testing Club - An Online Software Testing Community to add comments!

Join Software Testing Club - An Online Software Testing Community

Comment by Jeff Lucas on January 3, 2014 at 12:29

I just realized that I got one statement wrong. Test planning is actually an activity that is firmly rooted in "The Present". "The Future" starts at the end of your test plan with the label "Beyond Here Lies Dragons".


© 2017   Created by Rosie Sherry.   Powered by

Badges  |  Report an Issue  |  Terms of Service