puzzling puzzle
joeyh at
Wish I could understand why, when someone is reporting a really strange problem, I can get 100% puzzled by it and stuck. But then, if I manage to reproduce the same problem, I can always quickly figure out the root cause and fix it.
It's often a night and day difference, I can go round and round with a user for hours trying to understand what they did, but once I reproduce the problem, I can have it fixed in minutes.
It's something to do with bandwidth, and limited information, and communication difficulties, and confirmation bias, and.. I don't know what all.
Being able to diagnose and fix reproducible problems is a good skill. Being able to coax reproducible test cases out of users is a good skill. But I feel there's something here I could be better at.
(Users could also be a lot better at reporting bugs and reliably communicating of course..)
Olivier Berger likes this.
Sometimes I barely go around the debugging loop at all, once I have the problem reproduced. I find myself immediately forming a hypothesis, and testing it, and I was right on my first try, and now I understand the problem.
Maybe part of it is that, if I've managed to reproduce the problem, I've collapsed the solution space significantly, just by observing it in a controlled, known situation.
It might have something also to do with perception as well. Words on a screen are words on a screen, but if I had to interact with the system to get the error message to come up, I might perceive it differently than if the error message was shown to me by someone else.
i mean that can be part of a test suite, but that's a different thing.
also: TDD. i wish i discovered unit tests when i started programming (well, to be fair, they barely existed at all). i feel that a lot of the bugs i find are just some stupid mistakes i made that could have been caught with proper tests. it also helps clever devs (who, yes, even then, can't always file proper bug reports) help you reproduce issues properly.
but yeah, sitting next to the person is awesome. the folks at Freeswitch often just call people on the phone or invite them in a phone conference as compromise. :)