Bugs become features, whether on purpose or by accident. Taken one by one you’ll fix the immediate issue, but if you’re not grouping them together, looking at the big picture, seeing if there is a feature hidden amongst all those issues. You’re doomed to fix them over and over and over again.
Regression testing is when you re-test everything in your suite to see if it still does the same thing it originally did (correctly). Sanity testing is the bare minimum testing that validates your core product to ensure it can do the most primal functions necessary to survive. Coverage looks at how far your testing extends – does it extend to everything you need it to reach? Leadership is knowing where, when, and how you need…
Fixing bugs isn’t the problem. Figuring out how they occur, now that’s the problem. That’s where we get hung up and where we spend the bulk of our time. That’s where we grind the gears trying to figure out what we are doing and what the next should be. And though this is the hardest of steps, it’s the most rewarding, we learn the most from them. If someone just gave us the answer and…
We all hate when our code breaks. You put all this time and energy into creating the most beautiful piece of software known to mankind and then it blows up on the launchpad. It stings. Even after so many years of programming, it stings. But code is code and it will blow up (I believe this to be its second purpose in life). Owning the problem when this happens is good, blaming yourself and hiding…
When you’ve spent an entire day trying to figure out what the issue is, it’s no longer a bug. When it’s going to take longer to fix it, than it did to build it, it’s no longer a bug. When you need to pull in the entire team to diagnose and troubleshoot the issue, it’s no longer a bug. When you are trying things that you aren’t sure are going to work, but hope that…