Skip to main content

What is What is Professional Testing?


I was invited to the fifth Midlands Exploratory Workshop on Testing (MEWT) yesterday. In it, the MEWTs were asking: 
What is Professional Testing?
Wikipedia has this to say about what a professional is: A professional is a member of a profession or any person who earns their living from a specified activity. 
Hmm. So what’s a profession then?  A profession is a vocation founded upon specialized educational training, the purpose of which is to supply disinterested objective counsel and service to others, for a direct and definite compensation, wholly apart from expectation of other business gain. (also from Wikipedia.) 
In MEWT 5 we’ll be asking – what exactly does it mean to be a Professional Tester? And, since I already cited the quotes above. You won’t be allowed to. In fact, we’ll expect you to delve deep and reach far and wide into the many and varied facets of what it means to demonstrate professionalism in the face of a rapidly changing technological and sociological landscape.
This post is an edit of the notes I made while I was preparing my talk.

I'm going to use the question What is Professional Testing? as a lens through which to view, inspect and explore itself. I'll imagine a project where I'll take on the role of tester; MEWT will be the client and the call for the workshop will be the brief.

In order to tease out intuitions about professional testing I'll work though the project by making assertions about what the average person might think it would be reasonable to expect from a professional tester in particular situations. Once I have those, I'll wonder whether we can generalise from them into some kind of definition.

It's probably not too controversial to suggest that a professional in most domains should think carefully about knee-jerk responses (except for professional cage fighters, perhaps) so my first action here will be to exploit the information in front of me and read the full brief.

The brief's headline asks What is Professional Testing? but the body of the text includes another question:
 ... in MEWT 5 we’ll be asking - what exactly does it mean to be a Professional Tester? 
Is the workshop asking about professional testers or professional testing? That's two different questions. Or, at least, it might be two different questions. But there's more:
 .... what it means to demonstrate professionalism
So perhaps there's even three concepts here?

A professional tester should be, reasonable people might think, alert to nuances of meaning. They will know that sometimes in those small gaps, those seemingly innocuous chinks between terms, the fuzzy areola of greyness around the sharp black centre of a label, there are vast conceptual differences lurking. Even Humpty Dumpty knew that semantics matter and was prone to useful aphorisms like this:
When I say "Professional Testing" it means just what I choose it to mean — neither more nor less.
But by the same token, wouldn't reasonable people expect a professional tester to also know that sometimes there are not great differences in people's use of terminology and it's quite common for them to use varied vocabulary to refer to the same thing?

And the professional tester, I guess most of us would agree, should be able to navigate the world keeping ambiguities and multiple possibilities in mind until it's a sensible time to ask those involved whether it matters and whether the range of possibles need to be collapsed.

The brief also includes a definition of profession, with explicit instructions that it should not be quoted ... So here it is:
A profession is a vocation founded upon specialized educational training, the purpose of which is to supply disinterested objective counsel and service to others, for a direct and definite compensation, wholly apart from expectation of other business gain.
The instruction given alongside the definition is a blocking manoeuvre and noting such things is a characteristic that the man on the Clapham Omnibus is likely to want in his professional tester.

Perhaps in this case it means nothing; perhaps it's simply a pointer that the client wants us to do our own research. But then again perhaps it's a coded message that they want us to start from their point of view, that they expect we will encounter other people with other perspectives on this project and they are trying to constrain our acceptance of them. Or perhaps they don't really care what we do with respect to definitions their intended point being that we shouldn't waste time on things that they would consider unnecessary. Or none of those things. Or all of them.

As an aside, would right-thinking people be upset if, having hired a professional tester and told them not to do something, they still did it? It probably depends on the something, right? What about if the tester did it because they had an instinct that it was the right thing to do for the project? Like I just did ...

To try to understand the motivations better, a professional tester might explore alternative definitions. Definitions are often a good place to start in any case; they can provide anchors or reference points for other information discovered along the way and supply related terms to be investigated in their own turn. On consulting Oxford Dictionaries, I find that there are multiple definitions of professional, and alternative definitions of profession:
Professional: (a) Relating to or belonging to a profession; (b) Engaged in a specified activity as one’s main paid occupation rather than as an amateur; (c) A person competent or skilled in a particular activity
Profession: A paid occupation, especially one that involves prolonged training and a formal qualification
Someone with a little experience of testing might expect that the professional tester would look a little further than the obvious. In this case, when I do that, I find that there are also other senses of profession that we might come across that we can disregard for the purposes of the current mission:
Profess: An open but often false claim: "his profession of delight rang hollow"
Ah yes, the mission. Surely a professional tester would want to understand what their mission was, or at least some things that it wasn't, before going too far?

A professional tester attuned to language and blockers and ready to ask questions at the point when they are likely to add value, might choose now to talk to the client and highlight the potential for the brief to not be expressing the client's intent unambiguously enough to move forward.

And I couldn't think of a strong enough reason not to, so I asked Simon Knight, the content owner for MEWT 5, if he would take some questions. He said he would and so I emailed him a bunch:
  `
Who is asking this question? (or on whose behalf are MEWT asking the question?)
The organisers, on behalf of the testing community
And why?
Because we needed a topic to discuss at MEWT
Do they have a problem to resolve and has this question come up in their attempts to resolve it? If so, what is the problem?
See question below
What do they hope to achieve by asking the question?
Through further discussion we hope to find some heuristics and principles that can be utilised within the testing community to increase the profile of testing by improving behaviours, work-products etc
What do they expect to do (or be able to do) once they have the answer?
We expect to be able to communicate the results of our discussions by sharing materials, slides, thoughts and experiences
One might assume that a professional tester could glean a lot from this, from both the implicit information that surrounds the surface information and that surface information itself.

Look at how terse some of those answers are, look at how efficiently one answer is said to be covered by another, look at how the longer answers to the more open questions are shorter on specifics and look how the questions that could easily be answered directly have been answered directly and apparently without guile.

A professional tester might now attempt to test the relationship he or she is building with the client. Perhaps a drop of humour, edged with respect, illustrating that this is not the first rodeo for either of them? In this case:

Well played. Are you in senior management? ;-)
Cost/benefit analysis suggested spending less than 5 minutes of my time and giving you my most honest response would probably suffice. If you actually do need more info, let me know. 
A professional tester might make a working hypothesis that Simon is a pragmatist, thinking about his answers and why he is giving them in the way he is, sounds like he is prepared to talk straight, took the questions seriously but cares to guard his time. And, importantly for an information-seeker, is offering further information should it be desired.

Further, a professional tester - who we can undoubtedly assume is attuned to language, and communication, and the sociology of interpersonal relationships - might note that Simon did not use the word profession, nor any of its derivatives, in his response. And also that he didn't simply copy-paste bits of information from the brief or even refer back to the brief.

Armed with this new information, any professional tester worth his salt would surely reevaluate what they already knew, and try to state the mission (for their own benefit at least):
On the basis that there is no specific problem to solve here, and indeed no specific client to solve it for, questions of definition could justifiably become less part of the mission's own definition and more part of the deliverable, the report, the testing story. 
And in order to deliver the story the professional tester (and indeed any other kind of tester) needs ways to get to the content of the story. Because you can't have a story with no content, can you?

Unless you're a consultant.

Experience is a great guide to instinct here, but experience comes from practice. We might hope that a professional tester has practised and continues to practice. A professional tester, a practising professional tester, would certainly have battle-hardened tricks, an A-Z, for getting an investigation going, wouldn't they? They'd reach for tools such as analogy, anecdote, and antithesis to just list a handful of the A's.

Let's practice then; I'll pick a technique that I have found productive in the past: the use of antithesis to shape understanding. What might we contrast professional with? Perhaps amateur.

Remember that Galton talked about the wisdom of the crowd from a statistical perspective over 100 years ago and then think of uTest or 99tests. uTest touts itself as "The Professional Network for Testers". A professional tester might again notice the nuance here. The network is professional but are the testers considered professional? By who? In what way? And what does it mean for a network to be professional?

A professional tester might dig for a little more evidence. The uTest Facebook site says "uTest is the world's largest open community that exists to advance and promote the software testing profession." Another variant.

These kinds of companies sell testing services. They would almost certainly assert that they provide a professional service, if asked, but their projects are staffed by people who are not necessarily professional testers. A professional tester might be expected to make this kind of observation: does professional testing have to be carried out by professional testers?

Is there another kind of opposite of professional? Yes: Unprofessional.

A professional tester might be thought unprofessional because of some aspect of the way the work was carried out. e.g. making racist remarks or punching a member of his team. Is Jeremy Clarkson a professional TV presenter? Might we say he always behaves professionally?

This exposes the difference between being professional and acting professionally. Which does our client care about? And it's not a binary decision, necessarily. Also, testing is an activity. A tester can be doing more than one activity at a time and so acting both professionally and unprofessionally at once. For different observers, the same single action could be perceived as professional or unprofessional.

Another tool I sometimes use, and might hope that our imagined professional tester would also be familiar with, is looking for exemplars. In fact, this exercise exploring What is Professional Testing? itself could be seen that way. So what exemplars of professional testing are out there?

Well, there are bodies such as the Association for Software Testing. Its website says:
The Association for Software Testing (AST)  is an international non-profit professional association ... focused on supporting the development of professionalism in software testing, among practitioners and academics, at all levels of experience and education.
There we go again, more variants: "professional association" and "professionalism in software testing".

I am a member of the AST (and good on them for providing grant funding for this MEWT) and one of the things this means is that I agree to abide by their Code of Ethics and Professional Conduct, itself adopted from another body, the Association for Computing Machinery. The code mentions various flavours of professional over 50 times. Some examples:
  •  professional conduct
  •  professional work
  •  professional ethical standards
  •  computing professional
It might seem, to the professional tester, that the policy could be trying to bridge the gap between being and acting by describing claims or considerations that define the being and govern the decisions that lead to actions.

Some of these claims are very strict
I will ... be fair and take action not to discriminate.
but others are more aspirational:
I will ... strive to achieve the highest quality, effectiveness and dignity in both the process and products of professional work.
You'd think this latter one would be interesting to an alert professional tester, as it means that there is room for a professional to do low quality work and remain within the ethical code - so long as the intent and efforts made were in line with the code.

The professional tester might note that the code only references testing once - perhaps understandable given that it has come from the ACM:
To minimize the possibility of indirectly harming others, computing professionals must minimize malfunctions by following generally accepted standards for system design and testing.
But notice how it refers to "standards for .. testing." The professional tester might file that away for another time ...

... because the professional tester might be expected to recognise that this is too much detail for the average client in the average situation - think of the man on the Clapham Omnibus - and also to notice when the client is not average, or the situation is not average.

This is not an average situation. The client is a testing workshop and the mission is both broad and deep and concerned largely with the generation of ideas. A professional tester should be able to deal with that, we'd hope, wouldn't we, and deliver something that met the client's brief to the extent that they'd understood it and confirmed it.

Which brings us to delivery. The question was What is Professional Testing?

I think what I've just done here enumerates a set of things that it could plausibly include. But it's not a complete enumeration and a small change in any number of details could mean that anything done here would be considered unprofessional.

Take the question of definitions. Here, my proxy for a professional tester decided not to pursue them. On some other project, where lives were at stake, say, it might be be critical to pursue definitions at an early stage. As Potter Stewart famously didn't quite say:
Professional Testing is hard to define but I know it when I see it
But most clients would be justified in wanting something more than that, wouldn't they? So here's my stab at it, based on what I've found out in this exploration of the question:

Professional testing is testing
  • … by someone in a testing role, for a client
  • … at some time, for some project
which might 
  • … include specified practices
  • … involve people nominated as professional testers
  • … involve acting professionally
and which is
  • … unlikely to be amenable to tight definition
  • … but might accept an envelope like the AST’s
  • … and so have the client’s interests foremost
  • … but offers no guarantees about outcome

And to finish, here's a question that I hope that our theoretical professional tester would ask at the end of a piece of work like this: was What is What is Professional Testing? professional testing?
Image: playbuzz

Here are my slides:

Comments

Popular posts from this blog

Can Code, Can't Code, Is Useful

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "If testers can’t code, they’re of no use to us" My first reaction is to wonder what you expect from your testers. I am immediately interested in your working context and the way

Testing (AI) is Testing

Last November I gave a talk, Random Exploration of a Chatbot API , at the BCS Testing, Diversity, AI Conference .  It was a nice surprise afterwards to be offered a book from their catalogue and I chose Artificial Intelligence and Software Testing by Rex Black, James Davenport, Joanna Olszewska, Jeremias Rößler, Adam Leon Smith, and Jonathon Wright.  This week, on a couple of train journeys around East Anglia, I read it and made sketchnotes. As someone not deeply into this field, but who has been experimenting with AI as a testing tool at work, I found the landscape view provided by the book interesting, particularly the lists: of challenges in testing AI, of approaches to testing AI, and of quality aspects to consider when evaluating AI.  Despite the hype around the area right now there's much that any competent tester will be familiar with, and skills that translate directly. Where there's likely to be novelty is in the technology, and the technical domain, and the effect of

Testers are Gate-Crashers

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Testers are the gatekeepers of quality" Instinctively I don't like the sound of that, but I wonder what you mean by it. Perhaps one or more of these? Testers set the quality sta

Am I Wrong?

I happened across Exploratory Testing: Why Is It Not Ideal for Agile Projects? by Vitaly Prus this week and I was triggered. But why? I took a few minutes to think that through. Partly, I guess, I feel directly challenged. I work on an agile project (by the definition in the article) and I would say that I use exclusively exploratory testing. Naturally, I like to think I'm doing a good job. Am I wrong? After calming down, and re-reading the article a couple of times, I don't think so. 😸 From the start, even the title makes me tense. The ideal solution is a perfect solution, the best solution. My context-driven instincts are reluctant to accept the premise, and I wonder what the author thinks is an ideal solution for an agile project, or any project. I notice also that I slid so easily from "an approach is not ideal" into "I am not doing a good job" and, in retrospect, that makes me smile. It doesn't do any harm to be reminded that your cognitive bias

Play to Play

I'm reading Rick Rubin's The Creative Act: A Way of Being . It's spiritual without being religious, simultaneously vague and specific, and unerring positive about the power and ubiquity of creativity.  We artists — and we are all artists he says — can boost our creativity by being open and welcoming to knowledge and experiences and layering them with past knowledge and experiences to create new knowledge and experiences.  If that sounds a little New Age to you, well it does to me too, yet also fits with how I think about how I work. This is in part due to that vagueness, in part due to the human tendency to pattern-match, and in part because it's true. I'm only about a quarter of the way through the book but already I am making connections to things that I think and that I have thought in the past. For example, in some ways it resembles essay-format Oblique Strategy cards and I wrote about the potential value of them to testers 12 years ago. This week I found the f

Meet Me Halfway?

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Stop answering my questions with questions." Sure, I can do that. In return, please stop asking me questions so open to interpretation that any answer would be almost meaningless and certa

Test Now

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "When is the best time to test?" Twenty posts in , I hope you're not expecting an answer without nuance? You are? Well, I'll do my best. For me, the best time to test is when there

Rage Against the Machinery

  I often review and collaborate on unit tests at work. One of the patterns I see a lot is this: there are a handful of tests, each about a page long the tests share a lot of functionality, copy-pasted the test data is a complex object, created inside the test the test data varies little from test to test. In Kotlin-ish pseudocode, each unit test might look something like this: @Test fun `test input against response for endpoint` () { setupMocks() setupTestContext() ... val input = Object(a, OtherObject(b, c), AnotherObject(d)) ... val response = someHttpCall(endPoint, method, headers, createBodyFromInput(input) ) ... val expected = Object(w, OtherObject(x, y), AnotherObject (z)) val output = Object(process(response.getField()), otherProcess(response.getOtherField()), response.getLastField()) assertEquals(expected, output) } ... While these tests are generally functional, and I rarely have reason to doubt that they

A Qualified Answer

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn ,   Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Whenever possible, you should hire testers with testing certifications"  Interesting. Which would you value more? (a) a candidate who was sent on loads of courses approved by some organisation you don't know and ru

README

    This week at work my team attended a Myers Briggs Type Indicator workshop. Beforehand we each completed a questionnaire which assigned us a personality type based on our position on five behavioural preference axes. For what it's worth, this time I was labelled INFJ-A and roughly at the mid-point on every axis.  I am sceptical about the value of such labels . In my less charitable moments, I imagine that the MBTI exercise gives us each a box and, later when work shows up, we try to force the work into the box regardless of any compatiblity in size and shape. On the other hand, I am not sceptical about the value of having conversations with those I work with about how we each like to work or, if you prefer it, what shape our boxes are, how much they flex, and how eager we are to chop problems up so that they fit into our boxes. Wondering how to stretch the workshop's conversational value into something ongoing I decided to write a README for me and