Love this, 100% accurate. QA people are amazing, protect us from ourselves in so many ways we didn’t even think of.
I wish our test team was like that. Ours would respond with something like “How would I test this?”
Programmer should have written all the test cases, and I just run the batches, and print out where their cases failed.
Ewww, no. The programmer should have run their unit tests, maybe even told you about them. You should be testing for edge cases not covered by the unit tests at a minimum and replicating the unit tests if they don’t appear to be very thorough.
This.
My units and integration tests are for the things I thought of, and more importantly, don’t want to accidentally break in the future. I will be monumentally stupid a year from now and try to destroy something because I forgot it existed.
Testers get in there and play, be creative, be evil, and they discuss what they find. Is this a problem? Do we want to get out in front of it before the customer finds it? They aren’t the red team, they aren’t the enemy. We sharpen each other. And we need each other.
I think that the main difference is that developers tend to test for success (i.e. does it work as defined) and that testers should also test that it doesn’t fail when a user gets hold of it.
But they still don’t think of all common user possibilities. I like this joke:
A software tester walks into a bar.
Runs into a bar.
Crawls into a bar.
Dances into a bar.
Flies into a bar.
Jumps into a bar.
And orders:
a beer.
2 beers.
0 beers.
99999999 beers.
a lizard in a beer glass.
-1 beer.
“qwertyuiop” beers.
Testing complete.
A real customer walks into the bar and asks where the bathroom is.
The bar goes up in flames.
Bathroom testing was not in scope.
This one’s on management.
Most of the best QA folks I’ve worked with had teenage children.
I imagine dealing with developers is similar.
I love working with competent QA engineers. It’s always a humbling experience.
I learned more about how computers work from them than I did in all my schooling.
Yes, I second this. QA has caught so many things that did not cross my mind, effectively saving everyone from many painful releases
Hey! My company just fired ours today!
It’s also the system administrator and SRE mindset.
The programmer’s answer?
We don’t support that use case.
“Works for me and my sister.”
deleted by creator
Physicist: “assuming a spherical year …”
In a frictionless vacuum
Id hate to experience a vaccum with friction.
Ahhh I’m rubbing up against all this nothing so roughly it feels almost sticky
All I wanted was a cubical day
TIMECUBE!
Time slipping through the fingers with an acceleration of g
Based on the only comparison we have, the OP is twice the age of their sister. so the sister is now 44/2, or 22. Easy problem.
Based on the only information we have, OPs sister is two. So the sister is 2. Trivial.
ML in action.
I design software, another guy builds it, then I test it. I seem to have a really good intuition for ferreting out the edgiest of edge cases and generating bugs. Pretty sure he hates my guts.
Project Managers and software designers are hated for their “designing”. The testing is always very welcome.
I’m working on a gameboy emulator and the amount of edge cases you have to consider feels just like this lol.
Real talk: I wish more orgs place a high value on QA. A good QA team is worth it’s weight in gold and helps prevent a lot of stupid mistakes.
If you were 4 and now you are 44 then you might be an integer variable. If sister is also a variable, we don’t know when she was allocated. She might also be an integer constant in which case she’s arguably immortal.
Also misses the edge case where sister was born on a leap day
clearly the answer is 22
I’m a programmer and my answer would be more like the tester’s answer.
But okay I also used to be a tester so this comment is probably invalid.
import birthday; let myAge1 = 4; let sisterAge1 = 2; let myAge2 = 44; let sisterAge2 = birthday.deriveAge(myAge1, sisterAge1, myAge2); print(sisterAge2);Any bugs should be reported upstream. Please open a tracking issue to sync changes with eventual upstream fixes.
The API has the wrong abstraction and the type definitions fail to capture necessary information (such as in which year you were of the given age) and thus conversions can not be guaranteed to be correct
well she is half my age and that is a well known time invariant so she is 22
Managers when a tester does this in a planning meeting, asking for more time to write better teats: 😠
Managers when a staff level engineer does this in a post-fuckup root cause analysis meeting telling everyone what went wrong: 🤤
Managers when the tester points out it wouldn’t have happened if tests for it had gotten written:

Probably? Nah mate, your box of stuff, has already been chucked out of the window… You are next
This may be why I hated math.











