What’s your current definition of software testing?

Software testing is the process of verifying that a software works according to the users requirements using tools, and methods of testing to finds bugs, defects and errors in a given Software. These can then be communicated to stakeholders to ensure that adherence to quality is held by all members of the team and that quality software is reliable, accessible and secure.

Software testing? I usually tell people it’s like….

Think of software like a new phone or a car. Before it reaches you, someone tests it to make sure everything works—buttons, apps, brakes, lights. Software testing is the same—I make sure apps and programs work correctly and don’t break when people use them.

to me software testing is gaining an understanding of how the software should behave, identifying and performing test cases using the skills in your toolkit to validate the effectiveness of the software, summarising the results and discussing these with key people in the process.

Software Testing is various activities carried out during the Software Development Life Cycle including (but not limited to) asking questions, checking assumptions, raising issues, and making suggestions about the functionality, security, accessibility, performance and other aspects of a software or service, and documenting answers and findings for yourself and stakeholders such as the developers, the client, the company and the users.

To me, software testing is not just ensuring the requirements are being met, but it is an opportunity to ask the right questions and invoke the thought process of the stakeholders, highlight the risks and ensure the product is accessible and user-friendly.

It’s brilliant to read the varying perspectives of what we think software testing is. I think if you we look at it from a book or a novel as an analogy it’d be helpful to explain to others what we do. I sometimes have to do this to family members and not bore them :smiley: Imagine software is like a mystery novel, and the tester is the detective.

  • A detective doesn’t just take things at face value - they investigate every clue.
  • They ask alot of questions: Does this part of the story make sense? could this character be lying? Is anything missing or needs to be uncovered?
  • They look for inconsistencies, strange behaviour and things that don’t match which should be true.
  • And when they find something of relevance or importance, they report it so the case can be solved.

Software testers work the same way. We examine or investigate a program / service, ask questions about how its supposed to behave, look for anything suspicious or broken and report our findings so that the team can fix the issues. Just like a detective ensures the truth is uncovered, as testers we ensure the software is trustworth, authentic, reliable, and ready for use.

What a rich set of perspectives here, and it’s fascinating how much common ground exists beneath the different framings.

What strikes me reading through these responses is that most of them share an implicit tension: testing is both discovery (finding out what’s actually true about the software) and communication (making that truth visible to people who need to act on it). Stefan’s framing captures this well i.e., you’re both the first real user and the person who translates that experience back to the team.

My own working definition, shaped by that tension:

Software testing is the practice of systematically exploring a product to learn how it actually behaves, and turning that learning into information that helps teams make better decisions.

A few things I’d unpack from that:

  • “Exploring” → because testing isn’t just running pre-written scripts. It’s curiosity-driven, contextual, and often involves poking at the thing in unexpected ways.

  • “How it actually behaves” → not just whether it matches requirements. Requirements can be wrong, incomplete, or miss what users genuinely need. Rabia’s point about testing the assumptions behind user stories resonates deeply here.

  • “Information that helps decisions” → bugs found but not communicated are worthless. The deliverable isn’t a pass/fail verdict; it’s useful intelligence about risk, quality, and readiness.

To the stranger at a party, I’d probably steal Aj’s cooking analogy: “Before a restaurant serves a new dish, someone in the kitchen tastes it, stress-tests the recipe, and checks it’ll hold up when 200 people order it on a Friday night. I do that for software.”

I’m a software tester for a developer of EPOS systems in the retail sector. When people ask me what I do, I tell them I work in a pretend shop and just check everything is ok. It’s just a joke really, I do a lot more than that.

When I asked a colleague from a different department what software testing is, they said, “Software testing is a set of procedures carried out to ensure the software performs exactly as specified.” When I think about business people and the way they see things, I imagine stakeholders view testing as a necessity because customers simply expect it. If they’ve ordered development work, they assume it will function as intended. They expect it to be checked. If it doesn’t do what it’s supposed to do, or if it crashes and throws errors, the customer may refuse to pay or go elsewhere next time. So my joke response is probably closer to people’s perception of testing than I’d like it to be.

I need a noble goal. The way I’m wired, I find it difficult to motivate myself without a noble goal, so I need to see software testing as more than just arbitrarily checking things. I believe it is. I believe it’s important. The right software, working well, can make a difference to people’s lives, both for those who use it and those who benefit from it. When software doesn’t work, it causes frustration, disruption and unhappiness. But software that works beautifully can bring a little beauty into the world. People enjoy quality; they admire it, and it gives them a warm feeling. Quality is art.

I saw an interview with the artist Damien Hirst a while back. He was asked the age-old question, “What is Art?” I loved his answer; it stuck with me. He said, “Art is anything that is done well,” so I like to think when I’m testing, I’m helping produce a work of art. A note for those cynical stakeholders: art is big business, it sells. Customers notice and appreciate quality; they’ll come back for more, and they’ll tell their friends about it too.

Testing is like science where you are observing and experimenting to gather information about a system, exploring knowns and unknowns.

I’ve updated mine recently, partially because I’m regularly seeing that some other roles have been minimalising what testing is about in order to talk about their own role in software development like QA, QE or Automation engineers pushing why they are “different” or worse “more”.

I see these as very different roles in their own right and just like a software tester all valuable in different ways. I am also questioning whether I do the same, I can and do all the activities of those other roles and it is more than a hat change but its natural for me to elevate when I talk about my core area. In doing so I wonder if I am also diminishing some of the value of other roles.

Anyway, current definition.

“Testing that highly technical tool loving activity that emphasises learning, discovery, investigation and experimentation into product risk. The one that embraces the currently unknowns, finds comfort in ambiguity, nuances, empathy and real world context. That takes a holistic whole lifecycle view of testing and applies it from day one.”

Finding bugs and do some stuff that the Organization also wants you to do and probably makes sense.

and Rosie, it IS supposed to be helpful! Passion is a great driving force. So this is one from a troubleshooter. And planning brains, automation brains are useful too in other parts of what is contained in the QA engineer definition in whatever organization.