Friday 19 February 2016

How I explain software testing to people who don't work in IT

Can you think of a time when you've been frustrated while using your computer?

There are a lot of reasons that you might feel this way. A website that takes a long time to load. Error messages that stop you from doing what you want to do. Being unable to find that thing you need within all the options that are available in a menu.

Every time you get frustrated, you are encountering what software testers call a bug. Simply put, a bug is something that bugs you, and my job is to prevent bugs from reaching you.

To do this, I talk to the business people who ask for the software, the designers who decide what it will look like, and the analysts who specify how it should work. I think of things that I have seen cause problems in the past and try to prevent the same mistakes from being made again.

I sit alongside developers, the people who write the code that creates the software, and pick up problems while they work. Sometimes they miss a piece of what they're supposed to do, or I might disagree with the way that they've chosen to write something.

Once the software is finished, I check that it works. I think about all the ways that people might intentionally or accidentally break it, and make sure we handle that elegantly. I see if it works on all different sorts of computers and mobile devices. I check whether it is easy to use, responsive, and secure.

All through this process, I am testing. I test through conversation. I test by actually using the software on my computer. And I test by writing automated checks with tools that can run the same things over and over again, to make sure that specific bits of the software are working properly.

Testing helps to eliminate the things that bug you. It's an important part of creating software that people feel happy to use.

Thursday 11 February 2016

Brave Questions

This year I did not make any New Years Resolutions. But something that I am trying to do more of is to ask brave questions. By brave questions, I mean the type of questions that make me uncomfortably nervous to voice. They are questions to request the things I really want to happen that are perhaps a little unusual or unexpected, so there's a higher probability of people saying 'no'.

I thought I'd share three brave questions I've asked in January in the hopes that it may inspire others to push themselves to ask for the things that they want too.

Asking to pair on a proposal

When proposals for the Conference of the Association for Software Testing (CAST) opened I didn't pay much attention. I'm travelling to Europe shortly for CopenhagenContext and TestBash, so it seemed a bit cheeky to submit for another overseas jaunt in August. I'm also trying to avoid paying to speak this year, and I knew that CAST don't cover speaker travel and accommodation.

Then a friend of mine decided to move to Vancouver in June, and suddenly a trip to Canada in August became a lot more appealing! Having decided to propose, I then started to think about topics that I could talk about and the work involved in creating a presentation from scratch. The more I thought, the larger the whole task seemed, and I spent a few days trying to decide what to do.

I've been facilitating a lot of pairing within my team over the past year, but haven't had the opportunity to do very much hands-on pairing myself. I've heard other presenters speak very positively about their experiences delivering paired presentations. I started to wonder whether pairing might be a way to submit to CAST and see my friend with just half of an idea and half of a talk.

I started to consider who to ask. Given that I'm based in New Zealand, I haven't had the opportunity to meet very many people in the wider testing community. This made it quite difficult to decide who to approach, as a lot of my opinions are formed by how people behave on Twitter!

I came to the conclusion that I wanted to pair with another woman in testing, who I felt that I would work well with, and who was a relatively inexperienced speaker with a lot of great ideas to share. I was also aware that I wanted to limit the financial burden on that person if our proposal was accepted, so I decided to look for someone who was based near Canada.

One person ticked all these boxes. Carol Brands.

After deciding to ask Carol, there was a period of days before I made any kind of contact with her. When I did get in touch, due to the joy of timezones we played skype tag a few times before we were both online simultaneously. Finally, it was time to ask:

A brave question in the real world

It took almost 30 seconds of nervous anticipation for Carol's response to come through, and I was excited when she was instantly on board. We've since submitted a proposal and I'm keeping my fingers crossed that we are accepted to speak as I would like to meet Carol in person after all the discussions we've had so far!

I've found asking to pair on a proposal to be as fun and productive as it was advertised to be. It's been fantastic to have someone to bounce around ideas with. I've also enjoyed the collaborative writing process and the challenge that comes from being questioned on the way that I present my thoughts.

Asking for sponsorship for a conference

For the past three years we've run a WeTest Weekend Workshops conference in November. Pitched as an affordable testing conference for local talent, it's been a half day event with a $20 ticket price that includes a multi-track speaking line up, dinner and an event t-shirt.

Three years of WeTest tshirts

We've had generous sponsorship throughout this time, particularly from Assurity, but we've also been operating on a shoestring. None of the speakers have been paid. In many cases, they've been out of pocket for their travel and accommodation. All of the speakers have been from New Zealand. Our format has been focused on discussion to share experiences rather than ideas that push at the boundary of our profession.

This year I decided that I'd like to do something different. I talked to my co-organisers, Aaron and Shirley, and pitched the idea of national series of conferences. I'd like to create a repeatable full day event, with larger capacity, respectable ticket prices, and international speakers alongside the locals. I'd like us to be able to pay speakers, and cater food, and provide t-shirts, like a real testing conference. To do this, we need to ask for help.

So in January I approached four organisations to ask them to invest in this idea. We are asking for more money than we've ever sought for WeTest events in the past. From early December when all the organisers agreed that this was a good idea, it took me six weeks to muster the courage to even ask this question!

So far I've had a positive response from two of the four organisations, which is very exciting. I remain hopeful that we're going to end up with all four on board.

For me, asking this particular brave question has been a reminder that if you don't ask for something then you probably won't get it. And that sometimes when people say "no" it leaves you no worse off than you were originally.

Asking other people to propose to a conference

In mid-January, Rajesh Mathur who is one of the organisers of Australian Testing Days tweeted that their Call for Proposals had a relatively low response rate from within Australia. 

I was surprised by this as I know a lot of great testers based in Australia. I was also a bit disappointed as I was planning to attend Australian Testing Days to hear some of these people and, based on this tweet, it seemed that they may not have proposed.

Over lunch, I was thinking about this situation and suddenly wondered whether I could do anything to help change it. If there were people who I wanted to hear from, perhaps I could ask them to submit a proposal?

I'm not part of the organising committee for this conference, and it seemed a bit of a bizarre notion to try and influence the program of an event based on what I was hoping it would be. On the other hand, the organisers can't choose people who haven't proposed, so perhaps I'd just be giving them more options?

I decided to send out an email to 30 past and potential Australian Testing Trapeze contributors to ask them to consider submitting. I made it really clear that I had no part in choosing speakers but that I'd love for them to put themselves forward. I shared the link to the CFP, then let Rajesh know on Twitter:

Shoulder tapping potential presenters for a CFP

This was probably the most unusual brave question of January. Most of my associated nerves in asking this were because I wasn't sure what the reaction would be, from both the people who received the email and the organising committee.

Fortunately the responses that I did receive were all positive. Recently the programme was announced and I was delighted to see Catherine Karena in the line up, a speaker selected who I particularly wanted to listen to! I'm also keeping my fingers crossed for the selection of the Speak Easy slot, which is yet to be announced.

This experience has made me wonder why more people don't do this. If you feel like the events in your community could be better perhaps that's because you haven't made any efforts to change them? If there are people who you'd like to hear from, why not encourage them to propose? If there are topics that you'd like to learn about, why not suggest these to the conference organisers?

Brave questions make me uncomfortable. They are also how I stretch the bounds of what I believe to be possible. They are often a doorway into something new and different.

Increasingly I feel like the risk of asking these questions is not as great as my nerves would have me believe and that the opportunities behind each enquiry are worth the effort. Making a point of asking brave questions might be a way to expand your world in 2016. Good luck.