WE EXPLORE HOW SCHRÖDINGER'S CAT HAS MORE TO DO WITH SOFTWARE TESTING THAN YOU THINK!
Ben, a Test Engineer from The Virtual Forge explores how Schrödinger's Cat has more to do with software testing than we think! There are thousands of books, blogs and videos out there about what software testing is and how to do it. And while they can all be useful in their own way, hopefully today we can get you to think about it slightly differently.
Software testing allows you to validate your software before going to market. By rigorously testing your software you will save time, money and minimise production issues and give your product the real-world seal of approval.
There are thousands of books, blogs and videos out there about what software testing is and how to do it. And while they can all be useful in their own way, hopefully today I can get you to think about it slightly differently.
The process of software testing can be defined in several ways:
But at the centre of all of those different statements is one core element - QUALITY. Just how GOOD is the product we are creating, and how can we MEASURE that?
It occurred to me that one way we can look at this is to consider the famous thought experiment known as 'Schrödinger's Cat'.
Bear with me, we’re going to get a little weird for a minute... To paraphrase the experiment as best as I can:
So the cat is going to either be dead or alive.
The idea of this rather gruesome experiment is this - until you open up the box and have a look inside, you have no idea what state the cat is in.
In fact - and this is the weird bit - you have to consider the cat to be both dead AND alive at the same time…
...because you cannot KNOW FOR SURE either way.
Now I know this isn’t a perfect analogy for testing, but the point I want to get across is this: How do you ever really know how good your system or product is?
You have to observe it, just as we had to observe the cat.
So let's move away from cats in boxes and look at these ideas in the world of software development.
The OBJECTIVE view is not influenced by personal feelings, interpretations, or prejudice. It’s based on facts and its unbiased.
Here we take an independent look at the product we are creating, in order to apply an unbiased evaluation.
And the SUBJECTIVE view pertains to a characteristic of an individual; it’s personal, emotional.
Which is more of a practical, pragmatic look of the product to ensure that we deliver something that will really satisfy our particular clients needs.
Matching these two sometimes opposing ideas together is one of the big challenges of creating really top quality software.
In testing terms, we take the OBJECTIVE view when we perform things like:
FUNCTIONAL TESTING: When I press a button the system responds in the correct way.
PERFORMANCE TESTING: When I press a button I don’t have to wait forever for a response.
REGRESSION TESTING: When I press a button some other part of the system doesn’t explode.
And we take the SUBJECTIVE view when we perform things like:
USER ACCEPTANCE TESTING: When a user logs in they access everything they need to for THEIR specific job.
UX TESTING: Does the system feel ‘good’ to the user, is it intuitive, do they enjoy using it?
When we can successfully bring both objective and subjective observation together, through our expertise as software designers, developers and testers, we stand the best chance of creating something of real quality.
Something we can be proud of.
If you’re interested in finding out more about our projects, our team and what we do, give us call.
We keep our social media updated with our news, and we try to spread around our happiness - follow us on Facebook, Twitter and Instagram.
Cloud has been a topic of introduction and discussion over the years, often perceived as intricate and almost otherworldly—a kind of magic that could came straight out of a tale from C. S. Lewis. However, the reality is far from magical - it is actually quite mundane.
With Learning Technologies 2023 on the horizon, we’ve decided to share some critical components for custom software in enterprise learning. There is a wide range of solutions, but we will focus on 3 essential solutions most applicable to many teams.