Blog

Make software testing fun again

This week, I came across a TED talk from TEDxDelft 2015 by Andy Zaidman, a software engineer, who posed an interesting concept: “Making testing fun.” In his talk, he acknowledged something that those in software testing will know too well: generally, testing is an undervalued yet incredibly important part of development.

I’ve been working at spriteCloud for two months now, and it’s a comment that I hear often. Our testers say it. Other blogs that I have read say it. A developer I spoke to at a networking lunch yesterday said it. It’s an age-old story.

Why might testing be undervalued? Is it still as undervalued in 2017, two years after Zaidman’s talk?

He put it down to this: software bugs are ignored or neglected because fixing them is a hassle, and developers assume an app or site is working because it appears to be when it’s displayed on a screen. According to him, the thrill and curiosity of testing has been lost nowadays. The exploration of software and the challenge of searching for bugs is what makes testing fun – but when your work is undervalued, you stop having fun.

Research has confirmed the power of visual imagery, so it’s a no-brainer why development is the golden boy of tech. We see the results of software development all around us. You are reading this very article on a screen that exists due to the efforts of a software engineer.

But what if the screen wasn’t working? What if the website wasn’t properly compatible with your choice of browser or the page layout wasn’t optimised for your screen’s resolution? How easy would it be to read my words? This is where testing reveals its underlying value.

Software testing is different to development in that it’s not visible. It’s not ‘sexy’. It’s not immediately aesthetically beautiful. It’s done behind the scenes and you can’t always see the visual results, so it’s not as easily marketable.

So how do we make testing ‘fun’, and in turn communicate its worth?

When discussing this post with one of my colleagues, a software tester, I asked him whether he thought software testing was still undervalued. He told me that with the change from traditional waterfall software development to an agile approach, testing now gets implemented within every sprint and so becomes less visible. In turn, developers begin to test their own code, especially if they are working on a small component of a larger application or limited by a tight budget, which is common for start-ups. Testing is then not properly carried out, because developers and (external) testers have different mindsets. For him, this is where the problem lies.

It seems that the shift from testing after the development phase to integration at every stage of development – which is a step in the right direction – both increases the scope for testing and reduces testing’s visibility.

My colleague said the fun of testing is in exploring an application and finding bugs, which is what Zaidman suggested we need to promote during his talk in 2015. He recommended ‘gamification’ and discussing errors openly:

“We use software for so many things… so why can’t we use software to make people talk about failure [and] setting things in motion?”

Testing is beginning to become ‘gamified’, with test hackathons (or testathons) becoming a more common occurrence. A twist on the traditional hackathon that is common in the world of software development, the first took place in London in 2014, and has happened 14 times since then.

Since the point of a hackathon is to produce usable software, and you can’t have usable software without proper testing, this could be an innovative solution to Zaidman’s idea.

If everyone involved in software production gets involved, not just testers themselves, the purpose and fun of testing becomes more visible. It also gets everyone to embrace the inevitable mistakes that occur and talk about solutions together, from different perspectives.

To sum up, I’ll leave you with a quote from Zaidman’s talk:

“…these last few years have been about innovating. You hear it everywhere: ‘we should innovate!’ It’s a buzzword. But I think we should not only innovate, but we should make sure the innovations we are putting out are actually working.”

Are you a developer or tester and interested in partnering with spriteCloud to host an event like a hackathon? Get in touch!