Software Testing and the Intercepting Fist


Master of Software Testing PhilosophyWelcome to my first blog on software testing – hopefully one of many!
Testing is an exciting intellectually stimulating discipline to be involved in. I have been in the ‘game’ now for over 8 years in Wellington, New Zealand. I have worked in both the private and public sectors and over that time, my knowledge and understanding has been shaped by the experiences i have come across and the ‘teachings’ i have absorbed from other practitioners, organisations and learned colleagues around the world (Cem Kaner, James Bach, Brian Marick, Bret Pettichord among others). The combination of these things have shaped my view and understanding of testing as i know it today.

One of the greatest, if not the greatest martial artist of the 20th Century – Bruce Lee – espoused his philosophies on martial arts through a framework called ‘Jeet Kune Do’ (JKD) or Way of the Intercepting Fist.

One of the theories of JKD is that a fighter should do whatever is necessary to defend himself, regardless of where the techniques used come from. This is like testing – should we subscribe to only ‘one way’ or one technique to test software when there is a multitude of methods that may suffice? Should we follow the ‘classical mess’ (scripted testing) or become ‘formless like water'(Exploratory testing)?

Don’t get me wrong – test scripted pre-arranged testing has its place and it works – i have no qualms about that – I’ve been there, lived that. The only voice of dissent i have is when so called Test Practitioners disregard any other way of doing it. I worked once for a bank in which i prepared a paper on the benefits of exploratory testing – especially used in a complementary way with expected mode of scripted testing. It never gained traction no matter how much i tried – the Test Manager went as far as to say “…it doesn’t work and you’ll never find anything with that.”

I beg to differ.

As you can tell, i am an exponent of the Context Driven school and Exploratory testing. However, i know and recognise the need for scripting and i am comfortable with that. The trick is seeing what you test in context of what you are doing and what you are trying to achieve.

You may be familiar with the following – its applies whether you Exploratory test or not…

THE SEVEN BASIC PRINCIPLES OF THE CONTEXT-DRIVEN SCHOOL

1. The value of any practice depends on its context.
2. There are good practices in context, but there are no best practices.
3. People, working together, are the most important part of any project’s context.
4. Projects unfold over time in ways that are often not predictable.
5. The product is a solution. If the problem isn’t solved, the product doesn’t work.
6. Good software testing is a challenging intellectual process.
7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

Have a great week testing!

Advertisements

Author: bjosman

Principal Consultant at OsmanIT brian.osman@osmanit.com

6 thoughts on “Software Testing and the Intercepting Fist”

  1. Very good article and a good start to your blog, I agree that many test managers etc have a preferred method in which they choose to test and will not try anything out of their comfort zone. At least with blogs like this its a chance to challenge their thinking and provide alternatives for them to consider. Perhaps your next article could be a practical example of exploratory testing?

    Keep up the good work SIR BJ

  2. To those who resist change…..relate what Bruce Lee said to testing..

    “I have not invented a “new style,” composite, modified or otherwise that is set within distinct form as apart from “this” method or “that” method. On the contrary, I hope to free my followers from clinging to styles, patterns, or molds. Remember that Jeet Kune Do is merely a name used, a mirror in which to see “ourselves”. . . Jeet Kune Do is not an organized institution that one can be a member of. Either you understand or you don’t, and that is that. There is no mystery about my style. My movements are simple, direct and non-classical. The extraordinary part of it lies in its simplicity. Every movement in Jeet Kune-Do is being so of itself. There is nothing artificial about it. I always believe that the easy way is the right way. Jeet Kune-Do is simply the direct expression of one’s feelings with the minimum of movements and energy. The closer to the true way of Kung Fu, the less wastage of expression there is. Finally, a Jeet Kune Do man who says Jeet Kune Do is exclusively Jeet Kune Do is simply not with it. He is still hung up on his self-closing resistance, in this case anchored down to reactionary pattern, and naturally is still bound by another modified pattern and can move within its limits. He has not digested the simple fact that truth exists outside all molds; pattern and awareness is never exclusive. Again let me remind you Jeet Kune Do is just a name used, a boat to get one across, and once across it is to be discarded and not to be carried on one’s back.

  3. Great blog and I agree on your ideas on using different approaches to testing. I also agree on the focus of context and what you are trying to achieve. Too often I see people stuck in repetitive testing modules with a lack of direction on what they are trying to prove resulting in inaffective testing for their time. I look forward to further blogs to enable others to refine their test methods improving productivity. Cheers.

  4. My drive for quality software has evolved and matured over 12 years in the role as a software tester. Yes, there are various techniques and methods of testing. If I look back over the systems and teams that I’ve worked with, I think that the main determining factor is size of system (including all it’s interfaces), and of course time and budget. If it’s a miniature system, then exploratory testing could well be enough. But where a system is of a larger nature, then testing needs to be more systematic, documented, traceable back to the requirements, and repeatable, i.e. scripted. This tends to keep audit and risk departments off your back, and project managers happy. There is a time and place for all techniques, but usually most techniques will be used in some way before a system is released into production. I think a common problem is where regression testkits are continually added onto, but never culled, so it becomes a cumbersome and time-consuming task with every release.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s