Sunday, November 30, 2014

Exploratory testing teaches a growth mindset

I spent a significant part of this evening re-listening to a great keynote I remember being moved about at Turku Agile Days a few years ago: Linda Rising talking about The Power of an Agile Mindset. I remembered the basic message from the first round of hearing the talk, so I spent this round on more of a personal reflection.

The talk is about fixed vs. growth mindset - latter which Linda calls Agile mindset. The basic idea with mindsets is that what you believe you're capable of determines what you are actually capable of. If you believe in effort and ability to learn instead of believing there's a fixed amount of smartness you were given, your results tend to be better. Actually, believing you capabilities are fixed, makes you worse over time. There's a point in the talk that I like in particular: Linda tells that regardless of what your mindset is today, it can change. And that changing mindset happens through emphasising learning and failing being ok.

On my career as a tester, I found a concept that became central to the way I think about testing: exploratory testing. To me, it is not a technique, it never was. It's an approach. But listening to the talk, I realised that as an approach, it has also been a significant teacher of a growth mindset.

When I collaborate with testers who believe in exploratory testing being pretty much all testing, we talk about learning. We talk about tests being experiments we set up to learn something of value on the software system we test. Experiments provide us information, sometimes failing to provide information we expected and we learn and adjust both our expectations of what is valuable and the experiments we would run next. We talk about testing being endless task and we encourage each other to start somewhere, fail and learn, try again, to put effort into testing in a manner that allows the best possible results with the time we had at hand. It encourages me to try and fail, so I can always try and fail without fear. It's normal, it's expected, it's what is supposed to happen. Trying is worthwhile and necessary. Learning that it works is just as valuable as learning the ways it doesn't work. If the system seems to work, try harder, work more, think more. Only through really trying to show things as broken you will get close to showing it isn't. Close but never there. We test with the attitude of loving the challenge, always knowing that regardless of the results, testing is a chance of learning a lot about the product and the context around it - and of ourselves.

As Linda on the video moves to talk about bright little girls, praised for good results not the effort, I realise how lucky I've been with support from the exploratory testing community and ideals that praise the effort. I work hard to learn but yet make my choices on what I will learn next as the most valuable thing that makes me better at what I want to spend my days on. At school I was a bright little girl praised for results, but I soon got into communities that praised the effort and learned to love the the ability to learn over results. Exploratory testers - or context-driven testers - have been one of those communities. It's not what you are, it's what you are on your way of becoming. It is great to be around people who encourage me to have a growth mindset.

When I do talks on exploratory testing (well, testing in general as all testing is exploratory), I seem to often remember to tell people that the best part of my work is that I get to learn so much. I get to learn every day, so that I'm just a little better every day, and that I believe this will be the case indefinitely. Learning takes effort and the effort is worth it. But as there's limited number of hours in the days even when you combine work and hobbies like I have, you will need to choose what bits you choose to learn. Various combinations of choices can help you be useful in software development.

Bright little girls in schools in particular would benefit from the message exploratory testers have to give on learning. I feel even more strongly that in addition to teaching programming, we should teach testing, and we should teach mindsets. We need to tell our bright little girls and boys that effort is important. It's just work to learn new things. And learning through testing is a great way of learning about how wonderfully interesting software is.