The Art of Leave Requests and Software Testing

Written on
18 December 2023
by
Richard Dekker
Software Tester
Share
Our software tester Richard recently had a special experience with leave requests for his daughters. He suddenly understood why we do what we do at Blis. Make good software.

At Blis, I work as a software tester. You know, the one who is always looking for bugs and errors in systems. Recently, I had a special experience with leave requests. It all started when I had to request special leave from my daughters for a wedding. My daughters go to different schools, and you guessed it, the applications had to be made via the school websites.

It seems that your own work is always haunting you... Just like my brother-in-law who can never just enjoy a play without looking at lighting technology. That is professional deformation in action. This morning, I had a really hard time! And I also suddenly understood why we do what we do at Blis. Make good software.

Apply for leave at primary school

Our primary school always has forms at the entrance for these types of requests, but the bin was empty and the headmistress knew that this was now also done via the website. If only I had waited for the new prints...

The form on the website is quick to find and looks pretty good. Lots of free fields, I'm not limited in how I fill them out. The only annoying thing is the date field, but it does bother more websites. Why is it so hard to arrange a date field properly!?!?!

I also fill in everything I can and click “Submit”. And then things go wrong.

“Not all fields are filled in correctly”

I had to search for that message. Light blue letters on a dark blue background... By the way, that was the first thing I noticed when I told this story to my UX colleague.

Great... but... WHICH FIELDS THEN?!

What are the logical steps?

This brings together a number of things that are seen as separate steps from software development, but that we often take for granted as users.

  1. Happy flow must go well. If there are mandatory fields and you fill them out, the form must be submitted.
  2. If something goes wrong, you should be notified.
  3. If the user does something wrong, the user must receive feedback to fix that error.

In the example above, things went wrong somewhere between steps 2 and 3. How annoying would it be if I had clicked “send” and nothing simply happened? There would be an error somewhere in the background, but something really needs to be built by a developer to make that message readable for me as a user.

It would have been even better if the website had just let you know which fields were mandatory. For example, with an * or via red boxes if I had left them blank or filled them in incorrectly. There are various options and different situations require different solutions. But just saying “You didn't fill in everything” and not telling me what I didn't fill out is ALMOST as annoying as no notification.

Fortunately, I've learned a few trucks over the past few years and was able to use the dev tools to find out which field I still needed to fill in. Turns out I need to add evidence why we should get released. Actually, very logical...

Apply for leave at secondary school

Then high school. Let's see if they're doing well there. Via the school wiki, I see that I can request special leave via the school app. I'll save you the hassle of logging into that app. Fortunately, that's not what we're talking about today.

The form was found fairly quickly, I filled it out and tap 'finish'. Attachment but filled immediately. Something about donkeys and rocks. I tap “Finish” and... nothing...

Do you remember the three steps? At primary school, I still knew what level they were at, but here I am in the dark. Has the form been submitted? I don't know, I have no message that it worked. Did something go wrong? I have no idea.

There are now a number of options:

  • The administration now has around 20 emails with the same content in their inbox. I hope so with all my heart!
  • There is an error message in the background, which I can't view because I don't have any dev tools in the app.
  • “There was a glitch for a while”

Of course, that last reason says nothing, but that was the excuse I received from the administration after I made the request via email.

What do we learn from this?

What do we now learn from these kinds of “first world problems”? First, that good user feedback is not a matter of course. As a tester, it is my job to verify that what has been agreed works. If the assignment is: “Build a form with mandatory fields that is sent as soon as the user clicks the button”, I'll check that. If you want good error handling, it will really have to be specified.

As a tester, it is also my job to look beyond the requirements. I'm getting to know my colleagues better and sometimes I also think a bit like a developer and also like a designer. For example:

  1. Be happy that the happy flow is working. That is the basis!
  2. Make sure that the technology in the background is good at dealing with errors. So no server errors that mean nothing, but good messages that the frontend can do something with.
  3. Think about user feedback. How do you let us know what the mandatory fields are? How do you prevent the user from making mistakes? How do you let the user know if something went wrong?

We usually start with step three, but don't forget steps 1 and 2, because they are the foundation of a well-functioning piece of functionality.

Oh, the leave has been approved. The wedding was a big party.