We've all been there, we've fixed a bug, it went live, but then a future release broke the code that fixed the bug, and the bug was reintroduced, also known as a bug that has regressed.
What if there was a way we could guarantee that bug could never be re-introduced into live again, that would be great right?
Well, there is!
If you already have an automated testing pack, be it in QTP, Selenium, CodedUI etc. then all you have to do is create an automated test that tests the bug, this test could even be a unit test (depending on the bug) and ensure that it is run before every release (even more often in an ideal world, as early feedback is good feedback). This way, if the automated test fails, then you know you have to fix it, as the bug has been reintroduced :)
If you don't have an automated testing pack, well, if you can, create one! :) But I appreciate this isn't always possible, so in this case, create a manual test case and add it to a regression pack, to ensure it never ever sees the light of day again!!!!!