#NoTesting?? Here’s what it means to me.

The #NoTesting hashtag is having a bit of a resurgence recently, so I thought I would jump on the bandwagon and write down my opinions on the whole thing.

The term is very confusing to say the least.

Many people take it to mean “don’t do any testing”, which is understandable that they interpret it that way since the hashtag is literally saying “No Testing”. If people interpret the #NoTesting hashtag in this way without putting any thinking into it, then those people are doomed to failure. I canonly hope those people read this post!

So after seeing the tweets, and initially thinking myself that people were promoting not doing any testing whatsoever, I decided to investigate to get to the bottom of the meaning of the hashtag.

I initially read one of Bob Marshall’s blogs about it (Bob is the originator of the hashtag). And I had some Twitter chats with him and a few others promoting the hashtag. Gus Evangelisti was really helpful in teaching me a deeper meaning behind the hashtag in a private conversation on DM that we had.

 #NoTesting, as I understand it, is an attempt to kick people’s brains into thinking about a better way of doing things. Its not supposed to be a command to not do any testing without any thinking.

To me, it means “do better testing”. The kind of testing that perhaps some people wouldn’t call testing. 

Let me explain…

The majority of people working in software perceive testing as: “ensuring that the software meets expectations set by requirements”.
This statement is based on my experience – I have asked the question “what is software testing?” hundreds of times in workshops, meetups, work places,etc to people from all over the world who work across so many different disciplines in the software industry. This is by far the most common answer to the question I pose to them. Sometimes the words vary; “it’s asserting the requirements”, or “it’s checking the software works as expected”… But it’s always the same meaning behind the words – that we have an expectation from some artefacts and we assert those expectations against the software once it’s been created.

As an estimate from all these conversations I’ve had, I’d say that over 90% of the people I’ve asked that question to, define testing in this way…

(I should mention here that the originator of the hashtag (Bob Marshall) regularly tweets saying those exact words, however, he hasn’t yet, to the best of my knowledge, to define what he means by “Testing” too).

So, if you think about that being what people thinksoftware testing is, then the #NoTesting hashtag might be useful for us here. You see, testing is much more than asserting expectations. Asserting expectations is only a small part of what software testing actually is. There are many more testing activities that involve investigating unknowns and risks to uncover information (i.e. all the stuff that aren’t in the artefacts and we don’t have expectations for). Think about all the variables, assumptions, ambiguities, unexpected things, etc.

I think there is away that the #NoTesting hashtag can be used to actually teach about all these other vitally important testing activities.

Don’t just do the scripted, assertion side of testing… (Perhaps the hashtag could actually be modified to #NotTesting for this to make people aware they are missing a lot of the other testing activities that they should be doing).

But with the real meaning of #NoTesting as it’s supposed to be used (to trigger thinking on how we can do things better) then the hashtag is supposed to generate thinking about how we can change things. E.g. “Only testing the requirements – #NoTesting” will hopefully trigger people to think about how they can improve their testing or how they might not be testing effectively.

But the hashtag can even be helpful for people who do understand the investigative side of testing already too!
Lets dive deeper for a second, and imagine I was standing over your shoulder at work and I literally said to you: “Don’t test the software product!! #NoTesting!!“. What would you do? You know there are risks that need to be uncovered and investigated, but how might you test for these risks that you are aware need to be investigated if you’re not allowed to focus specifically on the product?

Take a second tothink about this before reading on… Think genuinely about how you would respond to my challenge.

(Please don’t respond in an argumentative way… The point is to get you to think about howelse, or what else you can test/investigate to uncover information about risks, quality and value).

If one of you had set that challenge to me through that statement of “Don’t test the software product” and asked me the same questions to get me to think about how I might test for the risks without testing the software product, my instinct would be to find a way to investigate those risks sooner, before the software product is developed. Perhaps through pairing as the code is being written? Or even before that – pairing while the code is being designed? Or before that still – when the idea for the software solution is being thought about and discussed, and while the artefacts are being created, and the UX and UI wireframes are being drawn?
I can discover and raise the risks at any of these points in time to assist and challenge the ideas, artefacts, UX/UI design wireframes, code design and written code, so that the risks are at the forefront of everyone’s thinking within those activities. This might actually allow us to prevent many bugs from being coded into the software product, if we catch the bugs in out thinking and understandings/misunderstandings before and during the creation of the software product.
I can use my testing skills all throughout the SDLC to enable others to be aware of the risks and to help them mitigate those risks before I even have a software product in front of me to test.

Now, I’m still testing! At least in my opinion I am, based on the whole picture of testing,including investigative testing.

I’m sure the vast amount of people that still think that testing is simply checking expectations against a software product might not call this testing though, or it might be that they were just unaware of the investigative side of testing (we need to get better as a craft in teaching about this very important side of testing!!). Either way, I feel the #NoTesting tag can be helpful in this situation – AS LONG AS the detailed explanation comes alongside the use of the hashtag.

What’s your thoughts? Have you used the hashtag? What was the context? Why did you use it? Was it helpful?

Share your stories in the comments below!

6 thoughts on “#NoTesting?? Here’s what it means to me.

  1. NON-ARGUMENTATIVE PART OF REPLY

    *The point is to get you to think about how else, or what else you can test/investigate to uncover information about risks, quality and value*
    If you were to ask me “okay now do some testing without operating the software” and I agreed to it then I could look to my coding neighbours and have them walk me through their process or changes or sit as they talk through their work.
    I could collect powerful contextual information from business leaders, investors, end users, other dev teams, customer support, bug tracking software and the manual. I could use this information to influence design meetings, breakdowns and other early stages of software development, even find bugs in the current “working” solution.
    I could create explicit version of models I have about the system to test my knowledge, communicate my ideas and better criticise them.
    I could read the company website and promotional material and see if we’re claiming that the software’s doing something it doesn’t actually do.
    I could look at legislation to see if we are compliant with, for example, accessibility law.
    I could read our user guides and see if they make a lick of sense.
    I could look at our usage data and learn more about our core users and their needs – or perhaps smaller groups of users and see if they could be catered to in order to gain market share.

    ARGUMENTATIVE PART OF REPLY BUT WITH A HELPFUL COUPLE OF PARAGRAPHS AT THE END

    I cannot find a way to not say that I find #notesting to be of very low value. If we want to discuss the depth of testing or promote discussion I think that to suggest something as confrontational and obtuse as “no testing” that actually means “do testing” or “test something else” is rather silly. The worst part of me carries the hypothesis that it’s a way to create value out of nothing by defining a state of correctness then being vague to its definitions and purpose, promoting interest with an obviously incorrect name. I dare to hope that its origins lie in good intentions. Maybe I don’t understand it. I fear that I’m not actually supposed to.

    If you said to me “don’t test the software product!! #NoTesting!!“ I would ask you what you were on about. Admittedly this would be at least in part because I know that you know a little and we share some common ground with definitions already, and I wouldn’t be checking vs requirements anyway. What I’d want to know is what you meant by the software product and why I shouldn’t test it. I’d be confused that I’m hired as a tester and told to do no testing. I’d be angry at the idea I’m being experimented on with strange concepts. I’d have to ask for clarification about what you’re trying to get me to do, so the concept is packed into a box and you have to unpack it again for it to communicate its purpose. The discussion happens, but so would it if you’d said “don’t flibber the gibber!”

    If I were to create a movement to kick testing up the rear I might go for something like #NotTesting like you mentioned (although it feels like trying to influence via negative feedback which never seems to work at scale), or maybe #TestFreely to promote human agency and variety in test strategy, or #TestTogether to promote teams to get involved with their testing. You could call it #questfortest and have it mean more. I found test vs check a hugely useful way to engage in those conversations and understand the value of our agency, and many people seemed to hate it. I honestly think that wider cultural influence will come from deeper conversations, education, deep discussion and analysis, and expressed social values, not hashtags and microblog conversations, anyway.

    Maybe promoting something like the HTSM or a simplified version would help here. I found Bill Matthews’ diagram of testing as a platform that supports all development very useful – take it out of the SDLC chain and underline the whole thing with it. I like the RST three circle Intended/Actual/Described diagram too. Maybe call it Test Scope or something that cements it as a shared idea of what testing entails, to promote the idea that there’s more to learn about. I’d like to include colour and excitement to express the fun testers could be having with exploration and teamwork and empower them to influence their projects. We can list ideas like business values as sources of testing inspiration. Customer support. All the clients of our work and the context we work in.

    Liked by 2 people

  2. I agree with you, of course 😊

    The thing is, the context that testers find themselves in (within the industry) is one of fight or flight… There are lots of folk who would say “No Testing” and would mean exactly that, and they’ll try and get rid of testers… But that is a moronic, naive view, which shows ignorance.

    When I wrote this post, I was in part, not playing to those people, but was thinking of the hashtag in the same way as if I said #NoCoding – people aren’t going to think “oh! We should get rid of all coding activities! Fire the Devs!!”… Everyone knows that coding is essential part of building software. The purpose of me saying that would be to generate thinking along the lines of “what else beyond coding allows us to build better software?” – well, there is design, there is lateral and critical thinking and investigating risks, etc. All of these things should happen alongside, and be prevalent within, the activity of coding…

    And that’s what I *want* #NoTesting to be seen like… Perhaps intentionally being a bit naive myself about the state of our craft of testing, by willfully ignoring how it’s perceived and misunderstood within the software industry… 😁😬😥

    But again, I do agree with you.

    BTW the first part of your answer is exactly what I want people within the software world to learn about! It’s all part of testing IMO, but I’m pretty sure lots of people don’t have this kind of thinking and activities on their radar at all!

    Like

  3. Its a sign of the times when we are having discussions on hashtags 😁. The way I look at it is if you have to explain a hashtag because it might be misconstrued then we shouldn’t use it. Saying that I am in total agreement with why you might argue for it but maybe the argument can be presented with a better hashtag. Maybe something like #TestBeforeCode or #TestTheIdea something along those sort of lines. For me, Testing should be more preventative than reactive so getting testing in while the initial idea is being formed is where it is at 😁. Thank you for presenting an argument and allowing us room to think.

    Like

    1. Sorry just had a major thought with my own comment. My suggested hashtags do not cover the whole picture and certainly do not cover the original argument for #NoTesting. Maybe #ContinueTesting I am not convinced that would even cover it but I would still argue that #NoTesting is framed in a negative format and we should be pushing for a more positive argument.

      Liked by 1 person

      1. I like your thinking!
        Previously, I thought of #BetterTesting or #MoreTesting or #SmarterTesting…
        But figured it might be best to keep talking about #NoTesting (to the people who are actually following that hashtag) almost from a frame of reclaiming it in order to keep trying to dispel the misconceptions that those people have. In other words, I don’t see the misconceptions people have as stemming from the hashtag. I see the hashtag as a product of the misconceptions that people already have…
        And starting a new hashtag means that those people probably wont hear what the new hashtag says if they are still following the old hashtag.

        Like

  4. Thanks Dan, will be sharing this with our Engineering community. I feel fortunate to work in an organisation where there is a progressive approach to testing and this certainly helps in explaining the ‘shift-left’ approach to test. I also feel monitoring plays a huge part in #NoTesting, offering eyes into parts of the system where tests often do not reach. The original hashtag challenges thinking and prompts you to ask questions, however my preference would be #WotNoTesting.. 🙂

    Liked by 1 person

Please leave a comment!

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s