First off let me confess that I am not a Quality Assurance person and I've only tested my own code as a developer (we all know what that means) so I have scant knowledge of the technologies and processes that occupy this discipline.
We have a third party workflow solution that interfaces with a back-end accounting system and we frequently get hotfixes and version upgrades which are either not thoroughly tested by the vendor or not tested on a system like ours so bugs get into our production system. Our current QA department (1 person) is pretty lame. BTW, if anyone would like to take a step in their careers and build a QA process from the ground up I'd like to talk to you!
In the meantime, we are hard-pressed to find a solid way of doing testing when we get an upgrade. There are so many actions that can get jacked up and so far we've just been following a standard path through the process manually, which, so far anyway, has been missing stuff.