Title text: "The company tried to document how often employees were celebrating Software Testing Day, but their recordkeeping system kept mysteriously crashing."
Alt text: https://explainxkcd.com/2928#Transcript
I have some war stories about the Bloomberg scheduling system which e.g. solved the "end of every month" problem by treating "end of the month" as the 28th for each month
Doesn't this create a year of almost thirteen months? I mean, not for the system but... I don't know how to explain what my problem with this is and at the same time I think it's a neat solution
A second favorite is running your test during the transition to/from daylight savings time.
Even better is if your test runs on a distributed system that is in multiple time zones that dispute the meaning of daylight savings time.
My team at Oracle wrote a distributed system using Tru64 and VMS nodes to create a porting environment for the Oracle Server.
All the nodes were in the same time zone, but the two OSes treated the transition to DST differently.
They shared a *special* filesystem for compilation.
The sharing was the problem. There were some edge cases that we just couldn't solve.
Our solution was: Do not run compile jobs that transit DST changes. The results are undefined, and you will have to run the jobs again.
A good start. But if you need to deal with intervals out in the real world...😱
Easy example: train scheduling. In autumn, you can just make them wait an hour in the next station, but what of spring? System A chooses to make them 1 hr late instantly, system B tries to smear the change out.
VMS and Tru64 had different epochs, and had a base time metric of different granularity. One aspect of this was that when you converted to absolute time on each platform, there was an offset of 1 hour of seconds.
That was manageable.
One headache was the filesystem could not be backed up due to hardlinked directories.
We needed to do that, tho.
So we duplicated the filesystem for safety.
It turned out this wasn't enough.
Because one day the system operator accidentally initialized the entire filer.
Then my phone rang.
I do not know how to QA the system operator nuking the filer. Even with backups, that's gonna be a hit.
It set the project back a quarter. That operator left the profession.
Everything I have said is true.
Why back in olde CDC mainframe daze an older programmer than me said, quoth re: debugging, " If you cannot solve the problem, make the problem bigger.
So I did.
The mainframe crashed.
Actually, I think Randall, that is a good one for you to appropriate.
This year some made the International Day of Testing being on the 29th of February.
It is a actual date, but it's still a rare one. Being heavily noted.