One of the first times I’d seriously paired with a tester on code, we were working on some date/time logic.
He first suggested that we test with Leap Day (Feb 29) as testing with an edge case like this can uncover some subtle bugs. I’d been bitten by bugs like that before and had known to test for this particular one.
Then for the next test, he suggested that we test with 2:00am and I was puzzled by that. Why 2:00am?
“Because not every day has one”.
If you’re a typical developer, you may be scratching your head right now. If you’re a typical tester, you know immediately what I’m talking about. Not every day has one.
Good developers and good testers think differently. They approach the problem from different angles, and find different kinds of problems. We need both perspectives to really ensure quality.
That’s not to say that one person can’t learn to see the problem in both ways. We absolutely can and we should. The trick is that the two ways are different and each of us has a preference for one over the other.
If you haven’t figured out the 2:00am yet, it’s daylight savings. Once a year a day doesn’t have one at all and once a year a day has two of them.