Here’s a fun game. I’ll describe a problem, and you guess whether it’s a regular bug, or a regression!
- “This code worked this way before, but now it works differently!”
- “A feature I really need was removed!”
- “An undocumented feature changed and now my code is broken!”
- “The old program had this feature, but its replacement doesn’t!”
- “The old program used to do it differently!”
- “This thing was broken in the previous release, and it’s still broken!”
- “I’m pretty sure it worked this way before, but now it doesn’t!”
- none of them
- seriously none of them
- actually, stop saying “regression” altogether
- seriously just stop it
So, starting immediately and continuing through all time and space forevermore (no backsies), bug reports that use the word “regression” incorrectly will be ignored.
Here’s a mini-FAQ that should help you understand how to use “regression” correctly:
Q. When should I report a bug as a “regression?
Q. But what about-
A. No. Seriously. Stop it. It’s not a “regression”. It’s just a bug.
Q. But this used to work!
A. I know! It’s frustrating when things change!
Q. But it’s really important!
A. So say “it’s really important” in the bug report!
Q. Should I set the “priority” and “severity” of my bug higher if I think it’s a regression?
A. Sure – we ignore those, too!
Q. You’re joking, right?
A. Of course. We’ve always done it this way.
Q. Is there any time the word “regression” actually applies?
A. Okay, fine. There is one way a bug can actually be considered a proper regression. You need three things:
- A specification (not documentation! not a blog post!) that the developers actually adhere to when designing and writing their code,
- Evidence that a previous version of the code behaves as described by the spec, and
- Evidence that the current code does not behave according to the spec
Q. How often do bugs that claim to be regressions actually turn out to be regressions?
A. This has never happened in the entire recorded history of mankind. Approximately.
Q. Wow. It sounds like “regression” is basically useless in bug reports, and we should stop using it!
A. That’s not a question. But I’ll allow it, because it’s insightful and you’re very handsome.