Classic Testing Mistakes by Brian Marick dates back to 1997, but this is the first time I've read it. It's a very good, common-sense guide to software testing.
Useful topics include the treatments of code-coverage tools (they're useful as a tool, useless as a metric), how to react to bug reports (re-examine the tests for that area of code to see how the bug slipped through, and fill any holes this reveals), and the examination of when you should, or shouldn't automate a test.