Tamarind Randall is a software tester at Razor and in this article, she shares why she’s so obsessed with non-functional testing and why you should be too!
I originally started my tech career working in tech support. I was constantly finding bugs in peoples systems and this really bothered me as it was lowering the quality of the experience. I found myself regularly emailing companies to tell them about the issues I was finding because they were so frustrating to me and the users I was supporting.
My desire for these bugs to be fixed led to me discovering the role of QA tester and it seemed like the perfect combination of all the things I love. So I happily moved into a QA role, had a detour into project management, and am now extremely happy being a software tester at Razor.
Software testing is all about curiosity. We have to review how things are meant to work and compare that to how they’re actually working. We then need to prove if this software is doing what it’s meant to or not. It’s one of the reasons I love testing so much.
What is non-functional testing?
So, a lot of what we do as software testers, at Razor, is functional testing. This is where we’re told what the software is supposed to do and we test it to make sure it does that. Nice and simple, totally straightforward.
But non-functional testing is about looking at what the user expects it to do, which may not have been written down in a development brief but it’s assumptions made by the users on how good tech should work. If the software doesn’t meet these expectations it can provide poor UX (User Experience).
There are lots of cool things we can test for in non-functional testing, it involves us thinking beyond what is on the spec. For example, the software might be functioning exactly as it was designed to when it only has 10 users. But what about when 1,000 people are using it? Or 100,000? Perhaps the software only works properly on one type of device, when it needs to work on multiple devices. Or maybe PNG files are unable to be uploaded, only JPEG which might happen if the specification says that the user can upload an image file, without specifying which formats or size restrictions, duplicate file names etc. These are all things that won’t be discovered until non-functional testing takes place, or even worse when the product is live and the end-user finds these issues!
Why do I love non-functional testing so much?
People say software testers just break things when really we’re just trying to find things that are already broken that haven’t been discovered yet. But we don’t just find broken things, we have to document the process exactly, what made it break, can we repeat this issue etc. Everything we’re doing needs to be measurable and we need to be diligent.
I love this juicy bit of testing - because it’s not obvious! I have to think about what the software is and how it’s going to be used. I need to consider what the user expectations are going to be and what their skill level is. I have to really put myself in their shoes and experience the software with their fresh eyes. It’s so much fun, and I love knowing I’m helping improve the user experience, reducing calls to tech support. It feels like it’s full circle for me.
Want to know more about software testing at Razor? Check out the rest of our test team series.