Mushroom picking has been part of my autumns since I can remember. At least here in Estonia our hunter-gatherer roots still run strong. Wandering around the forest with a bucket and knife in hand while enjoying the tranquillity and calm of a pine forest is one of the most enjoyable moments before the doom and gloom of winter.

I find mushroom picking to be a meditative activity where one part of my mind focuses on mushrooms while the other one meditates on whatever comes to mind. So this time I found myself pondering the similarities between mushroom picking and testing.

And yes, I found them. Why I wanted to write about it is because heuristics and oracles aren’t that easy to grasp for beginners or people interested in testing. I’ve taught several workshops and have coached people about these concepts. So at least for people who are familiar with mushroom picking or other foraging activities, comparing mushroom picking to bug hunting and testing could be very relatable.

So here goes…

Choice of location vs. product coverage

Typically, I go to a handful of forests that I know like the back of my hand and I know what type of mushrooms I can find there. Since my mission is to effectively collect a sufficient amount of mushrooms, going to the same locations, again and again, satisfies my needs quite well. However, if I wanted to collect new types of mushrooms, I’d have to take more risks: scout for a different forest, ask people around (though the secret locations aren’t divulged that easily if at all), do more research but I may not end up with any mushrooms after all.

In testing, visiting the same parts of the product over and over again would mean that your test coverage of the product is limited in terms of scope. Unless the product is very unstable, you’re also not likely to find anything very new and exciting there. But if you spend a lot of time in a limited area, you also get to know it really well, so your testing could go in more depth.

It’s always a trade-off when choosing how to spend your time, but we know what to focus on based on our mission: do we need to discover new information (mushrooms) and test previously uncovered parts of the product or not?

Making preparations

When planning to go mushroom picking, I typically keep an eye on rainfall and temperatures, and also the media since news about “good” or “not so good” mushroom season get published in major online news sites. Going mushroom picking later in the autumn when more and more leaves turn golden yellow may also cause a lot of “false positive” alarms (you think you saw a mushroom but… it was a leaf). In testing, I also try to be in the know about recent changes in the software and any rumours and opinions floating around. It’s data that I can use to decide if and what needs testing before I set out.

I make sure I have my rubber boots, proper knife and a bucket or a basket. The basket shouldn’t be too small (too many interruptions when going back to the car to get another one which wastes time) or too large (too heavy and difficult to carry it around as it fills up). Some people also carry a little brush to clean the mushrooms on the spot (I can never spare that time while in the forest, so I rather do it afterwards). Similarly, I will think of tools I may need when approaching a testing problem. Do I need any or do I need help with some of those tools? Do I know the best options available or should I do some research?

Know your oracles

One of the first things I can remember that I was ever taught about mushrooms was how to recognize the poisonous ones. Picking mushrooms really is a matter of life and death: if you pick the wrong ones and actually eat them, you will die. Period. Hence knowing your oracles for recognizing poisonous mushrooms is really important.

The first thing I was taught as a child was that a poisonous mushroom has a ring around its stalk. This is true for fly amanita which also has a very easily recognizable cap) and other types of amanitas. Hence, it’s generally a good heuristic to use to avoid such mushrooms.

However, one of my favourite mushrooms which is not poisonous and can simply be pickled or frozen (after heating them on the pan to get rid of the water) has a ring around its stalk. It’s called gipsy mushroom (Cortinarius apparatus). Many times I’ve seen other types of mushrooms being picked but gipsy mushrooms are left behind. Well, I don’t mind, really…

The “ring means poison” heuristic is typically helpful for survival but if it’s the only oracle used, it doesn’t really help us fully evaluate the situation. There are more characteristics for identifying bugs (and poisonous mushrooms) than just one (cap colour, type, stalk type, etc.). Therefore, we need to ask ourselves if we have more than one piece of information that could be useful when recognizing a bug, and what could be missing that would change the evaluation.

On the one hand, sticking to this specific heuristic means minimizing risks. On the other hand, sticking to very few oracles, I can recognize a limited amount of edible mushrooms. I know that I, too, walk past numerous perfectly edible mushrooms but since I haven’t taken the time to learn more and taken the risk of venturing into new territories, I leave these mushrooms behind.

We need to take more risks in testing, question and learn and push ourselves. Because it may be a matter of “life and death” in a different way.

Quantity and quality

So if you walk out of the forest with the biggest bucket of mushrooms, are you the most successful mushroom whisperer? Well, it depends. It depends on the quality of the mushrooms you’ve picked. If it’s not the best season and worms have wreaked havoc, you may not find many mushrooms in acceptable condition, so you may start to lower your notion of quality. Maybe you’re not inspecting the mushrooms very carefully and trying not to see the wormholes… Maybe you’re trying to tell yourself this one would still be good… But when you get home, you may end up discarding a large percentage of mushrooms when you finally sit down and evaluate them. Also, if the quantity is large, it takes many hours to clean, chop and prepare. Different mushrooms need different treatment (some need to be boiled, some need to be soaked before boiling, etc.)

Similarly, it doesn’t mean that you’re a great bug whisperer when you find a lot of bugs. Some may not be bugs at all. Some may be low risk and unimportant. Some may not be properly described. And it may happen that if you bring too many issues on the table and ask people to inspect them one by one, you bring the team’s progress to a halt.

When mushroom picking, you will need to inspect the condition of the cap (mushrooms age differently but you can tell if a mushroom is old), the stalk for wormholes (sometimes only the lower portion is bad but you need to cut it shorter to see if the rest is fine; sometimes you may also need to cut the cap). And sometimes you need to leave that mushroom behind.

While testing you also need to continuously evaluate what you find, dig deeper, not take things at face value, and sift through the information to take back what is really valuable.

What to do when you’ve found one

The heuristic to use when you’ve found a mushroom is “look for others of the same kind” nearby. Chanterelles are a good example of this. You also need to know they typically hide in the moss, so you need to peel your eyes and dig around a little. But sometimes you can’t find the others because you’re standing on top of them. Or you placed your bucket on them when bending over to pick the one that caught your eye. Then I use the “glance over your shoulder” heuristic when I walk away from a spot. Sometimes sunlight changes what is visible and what is not, so you need to check the place under slightly different angles.

If you’re a beginner mushroom whisperer, take note of the location where you found the mushroom. Observe the surroundings. What is the undergrowth like? Is it taller, does it contain moss or also grass? Is it on the higher ground or lower? Is it close to certain types of trees? This is how you develop a nose for mushrooming, picking up on characteristics and their combinations, which is what will help you navigate even an unknown forest in the future.

In testing, we pay attention to similar things. Where are the bugs most likely to occur? What characterizes the location in the product? What kind of issues cluster together? Over time you develop a nose for bugs, too. But, only when you pay attention and develop your observation skills.

And finally, I find that it is difficult for me to explain everything about how I find mushrooms (and how I find bugs). There’s tacit knowledge that I’ve accumulated but that I can start to make sense of when I observe myself. Also, it’s sometimes hard to explain why two people go into the same forest and come out with a different amount of mushrooms. Is it luck? Or is it the skills developed throughout the years?

Helena Jeret-Mäe

To her own great surprise, Helena Jeret-Mäe became passionate about software testing after stumbling into it via technical writing. She has worked on testing medical practice management software and has built and lead a testing team. She has also worked as a competence head and she’s currently, a consultant focusing on process quality and team collaboration. Helena loves to be part of the testing community because of the countless learning opportunities, so she can be found discussing testing in a pub with some testers, at testing conferences, or reading about testing in the corner of a café. Helena tweets as @HelenaJ_M and blogs at thepainandgainofedwardbear.wordpress.com