Sunday, 29 March 2015

Understand the context of the Testing Problem

In various other posts and papers, I've said that testing is testing. That if we’re suitably skilled and experienced in our profession, then we can test in most any environment and industry. I believe this remains as true as when I first said it.

To quote directly from the FX Kickstart for Testers paper;

As a competent test professional you’ll know that fundamentally you can test in any domain. That domain could be travel, healthcare, engineering, retail, etc. and of course finance. Ultimately we can say with sincerity, it’s all software testing and the skills and knowledge of our profession that we possess, apply no matter what the domain.

However, there are two very real caveats with this perspective that will limit our effectiveness in a given domain until overcome:

  • We will initially lack understanding of the testing challenges in the domain, thereby limiting our application of contextually relevant testing techniques and approaches
  • The domain will have unique vocabulary and concepts that must be understood if we are to translate its meaning and communicate effectively
Once we address these caveats we will understand the unique testing needs of the domain in a contextually relevant way and be able to communicate with our colleagues effectively.

The point is, to deliver effective and pragmatic testing we need to understand the client’s business. Let’s look more closely at the caveats above.

A lack understanding of the testing challenges in the domain
A mistake inexperienced consultants make, is to roll into a client’s site with a pre-concieved idea of what a testing solution will look like, yet they have scant knowledge of the problems the client are facing.

We see this with many of the larger consultancies. Their team arrive with all the answers already cooked up. The direction a solution will move in, the shape it will take, tools to be used, etc. Are all mostly known in advance. That’s not always a bad thing. If it’s known the testing problem is  the integration of new development with existing systems, then certain approaches for this will be known. Maybe the problem is specific, a lack of security testing for example. In which case there are some industry standard, yes even best practice, approaches to take.

On a new engagement it’s important to take the time to put off solutionising and ensure we’re clear on such things as:
  • The nature of the problem is known
  • What problems are being caused to current business operations, what limitations it is causing
  • What is limiting the client from solving the problem themselves
  • What attempts have been made to solve the problem and what the outcome was
  • Timescales for the problem needing solving and why, is anything dependent on the test work
Unique Vocabulary and Concepts
I stated above this applied to our ability to understand the language of the business to ensure clear communication, in a dialect the business would understand. It’s more than that however. Just saying an environment is System Integration instead of Development Integration or the other way around is not the big issue. Though it certainly helps to get that right too.

The big issue is with the concepts and I would expand that to be quite inclusive; the ideas, ways of thinking, ingrained culture, internal politics, external pressures, etc. Understanding these are just as important to the success of your consulting engagement as knowing what the testing problem actually is and how they talk-testing in the business.

We should check if we’re in need to understand other aspects such as:
  • What kind of environment the client has in place culturally; open, communicative, blaming
  • How they work technically; adaptive / descriptive, predictive / prescriptive, hybrid
  • If they are subject to professional or legal compliance and auditing
  • Any issues with public perception or on a branch / regional basis
Have a look at the free preview pages for Flawless Consulting, scroll down to where it says 'Consulting Skills Preview'. This is valuable additional reading.

Testing is just like – software testing. We can be confident in that.

What changes is the setting in which the testing problem we need to solve exists. To ensure our testing is relevant and effective, we serve the client best when we understand the context of their testing problem.

Enjoyed this post?
Say thanks by sharing, clicking an advert or checking out the links above!
Costs you nothing, means a lot.