Wednesday, August 9, 2023

Cargo-cult testing


  עברית

Cargo cults were a set of practices and beliefs that sprang in Melanesia post WWII, where the native population saw the westerners arrive, set up some rudimentary airfield, landing stripes, control tower, etc. and started getting supplies by planes. When the war was over, the natives tried to achieve the same results by maintaining their own airfields, trying to lure the gods to send them food and weapons as well. They were missing only one part: The people sending supplies from the other side of the airplane flight. Since it was coined, this term was used to indicate situations where someone is mimicking the form but missing out the essence.

And how does this relate to software testing? Well, every now and then there's a public talk on "how to get hired". Naturally, talks like this focus on people with less experience and so, eventually, someone will spurt "go and test a public website or product". Sounds legit, right? it's just like coding - you can demonstrate your skill by creating a useless pet project and present it to whomever it is you might want to hire you. 

Just like the cargo cults, however, there's only one part that's missing - The actual, professional testing. Ask any experienced tester and they'll be able to tell you that the important things are not test cases ran, bug reports written or the excessive documents produced. The real value is in the conversations you have, in bringing a different perspective to reviews, in translating between different functions, highlighting the risks and improving design by presenting just the right question at the right time. When you work (effectively) as a tester on a product you gain a profound understanding of its inner workings, of its tech stack, architecture and technical debt. You gain some insight on the business side: what's important, what's less urgent, what sort of problems we don't care enough to bother fixing and what properties of the product are the ones that help sell it. You then use this understanding in the conversations and test design.

Those parts are completely missing from the so0called "experience" you'll get if you follow such advice. If you are investing your time on that, or even on the paid version in crowdsourced testing, you might be gaining or demonstrating some technical capabilities, but you are not dealing with nor growing the core skills required in a testing position. You are not negotiating schedule difficulties, you are not involved in prioritization debates and you are smashing your keyboard without the slightest idea of the priorities of the company whose product you are testing or the entire iceberg beneath the nice looking website you chose as your target.

 

Or, if we sum it all in a click-baity fashion: Good software testers shouldn't waste their time testing.

2 comments:

  1. On the other hand, if I talk with someone who is actively working to test an open-source product, then they can show me (and I can go see) whether their involvement is active, technical, positive, novel or anything else that might be handy. If they’re valuable outside the lanes that their work puts them in, then so much the better.

    ReplyDelete
  2. I deliberated a bit about this when I wrote this post, and I'm not sure where to put that - on one hand, open source projects are actual projects with real people and (hopefully) active community that voices what they need, on the other hand it's a "do what you feel like doing" type of work that comes with a risk profile of "If someone dies because of a bug, it's the user's problem", so it is still missing most of the human interaction and responding to risks that a full time job would entail.
    Then there are the open source projects that are the basis of some business and thus have people working on it full time - this experience would be closer to what we see on a "regular" testing position.

    So, I think it's a matter of knowing what such projects can demonstrate and what they cannot. Some open source projects can tick more boxes on this list (though I'd argue that most don't), and if we are doing this long-term and high-involvement it may be possible to use them as a foot-in-the-door to a paying job. Whether it's cost effective? I can't tell.

    ReplyDelete