Software Testing Foundations: A Study Guide for the Certified Tester Exam (Rocky Nook Computing) by Spillner, Andreas, Linz, Tilo, Schaefer, Hans (2014) Paperback
Decent overview on getting started in the testing profession. It was pretty dry. If you try to come up with examples of software which you would enjoy testing it makes it a lot more practical. The principles are there, just don't expect to get much from it if you aren't actively thinking of how you would apply it to a specific piece of software. Probably one of the most useful things I learned from the course I was taking was that you can look up individual bug reporting software and repositories. Looking at the android repository made me much more aware of how it is implemented in practice. Also the book glosses over a bit of project management which is pretty trivial in comparison to things like the PMBOK. The concepts you might need to look at external sources for are automated testing. Additionally there are some good examples in lectures called "clean code" by Uncle Bob (Lecture 5 about an hour in). This helps to take a look at the philosophy and principles about test driven code or whatever they call it. Pair programming, and test driven design are probably the most useful takeaways from the book as a programmer. I didn't learn as much as I could have if I would have linked it to a direct project. If you can get involved with an open source project and try to apply the principles in the book otherwise you'll end up forgetting a lot of the ideas pushed forward in the book.
The book is specifically designed for personal self-study and provides all the necessary information required to pass the Certified Tester Foundations Level exam as defined by the ISTQB.
In my opinion, however, it must be used together with the ISTQB Certified Tester Foundations Level Syllabus
I used this book in 2007 as I become more involved in software testing. As a first introduction to the subject, it's OK. But I never "liked" the book (as opposed to some other books on the same topics that I read in later years)
Maybe not the best book for peoples completely new for software development testing, but it probably is the best to systematize your knowledge and build solid background in testing.