Software Test Engineer

April 2021: A day in the life of Kay, a Software Test Engineer

My name is Kay and I’m a Software Test Engineer. A Software Test Engineer is the person in the software development team who tests out the code and functionality that the developers have written, to verify that everything works the way it should (and not the way it shouldn’t!) before it is signed off. We make sure that what has been created meets the needs of the end user, that it works and also feed any improvements back to the developers.

I’ve been doing my job for just over a year now – I was working in an admin role for a bank before this, but I got the opportunity to spend a year working in the IT department and there I met some Software Testers. Through chatting to them, I realised I really wanted to be a tester too, so I went back to university to study an MSc in Computer Science followed by another MSc in Computer Security, then applied to Scott Logic’s Graduate program.

It’s 9am and I’m working from home because of the pandemic, so I commute to the spare bedroom to start my day. The first thing I do is look at my calendar to see what my day looks like in terms of meetings – then I check my emails and look at any notes I made yesterday about things I needed to do today.

Because we’re currently all working from home, I log into the company’s message app, say good morning to the testing team and we discuss our priorities for the day. I look through our team’s online task-management board and I read through the work the developers are currently doing, and if there is anything I’m unfamiliar with, I do a little research, so I understand it better.
I love constantly learning new things, so for me, software testing is the ideal role because I’m constantly learning about new technology, and everything I test is slightly different to the last thing, it means that my work never becomes too routine.A colleague in the online chat says he is having a problem with something and I know the solution, so I tell him how to fix it, I’m pleased that even though I’m fairly new to the job, I can already help my team members.

Short meetings called ‘stand-ups’ are part of a development team’s daily life, so because of the current lockdown, we meet via a video calling app, to discuss what we did the day before, what we plan to do today, and anything which blocks our work. It also gives everyone a chance to have a chat and a laugh when somebody’s dog or cat decides to join in the meeting.I’m currently mentoring the newest testing graduate recruit, so next, I have a short online meeting with her to find out how she’s been doing with her remote training, ask her if there’s anything she needs and just have a little chat.After my meetings, I make myself a coffee and have a quick chat to one of the people I live with, then head back to my desk to find out what’s next.One of the developers has finished working on a piece of code and it’s ready to test, so I read the original brief for that piece of work, write down some possible testing scenarios, then I have a call with the developer, and he talks me through what he’s done and tells me anything I need to look out for while I test. I ask him any questions I have and the call ends, but I know I can send him a quick message or make another call any time I need to ask anything further.

Before I know it, its lunchtime! When we were all in the office, several of us would walk to local shops to buy lunch together, then head back to the office kitchen to eat and play table football or games on the PlayStation – I really miss lunchtimes in the office. Now, lunch is a tin of soup in my kitchen then a walk around the block for some fresh air.
In the afternoon, I continue the morning’s testing – I need to set up various processes I have never used before in order to finish, so I check with the more experienced tester on the team, and he quickly calls me and shares his screen so I can see what I need to do. Then I work through the list of scenarios I drew up earlier as well as checking that it meets all the agreed needs.

I finish testing the work – I run my findings past the developer, and I update the task board to say that testing has been signed off.
It’s getting quite late in the day now, but I have just under an hour left, so I pick up another newly completed piece of work which needs to be tested – I can’t get it finished today but I can get a head-start, so I have a quick chat to the developer who completed it.

It’s Friday today so before I finish work for the week, I send a message to my team wishing them a good weekend, before I power down and close the lid on my laptop until Monday.
I hope that gives you a good insight into what a typical day for a Software Test Engineer looks like! If you have any questions about my role, studies or anything else to do with working as a Software Test Engineer, please do get in touch by asking a question below.

Your questions answered!

What is the process by which you test the programs? Do you run the program and then input some tests and monitor it, or do you see the code and check that for potential errors?

Testing can take a variety of approaches and is tailored to what is being tested at that time. Checking the code and running the program are all part of testing, but testing can also include something as small as proof-reading the read-me file to a full end-to-end test of the code and how it fits into the system as a whole. Because every system, its infrastructure and the code being used to write it, are different, so the testing adapts to meet the needs of the code on every project.

You mention that you work in a software development team. What other roles are there in a software development team?

In the team, there will be a variety of different roles depending on the project, but common roles within an IT project team include a business analyst, a project leader, a technical architect, a dev ops engineer and software developers as well as testers.

How long does it take to test code?

It really depends on the code – if it is simple code, there are few changes, and it is easy to run, it might be very quick and done in a morning or less, but on more complicated pieces of code, it might take a day, a couple of days – or even longer if bugs are found and re-tests are needed.

Do you test code only by yourself or sometimes with other people?

Most of my testing is done by myself, but sometimes testers do pair up especially if what is being tested is complex or unfamiliar. Even when testing alone, the other testers and developers on the team are always there to answer questions or help when asked.

Do the majority of software test engineers study that exact subject at undergraduate or do many people study something else at undergraduate and then computer science/security as a masters?

Certainly, some people will study computer science or other STEM subjects at undergraduate level, but others may study a wide variety of subjects, and decide to either apply as a graduate or take further study in a STEM subject at master’s level before applying. The things that most testers seem to have in common are curiosity, an interest in technology and the enjoyment of learning new things, but testers come from an infinite variety of backgrounds.