This is a great book for learning software testing from scratch, refreshing your memory as a practitioner or finding new things. In this order. Every author presents his point of view and his experience, so there are things to learn from this book as well. The balanced structure and the user-friendly presentation of concepts make this book enjoyable; for example, it provides probably the best definition of a bug, and I've seen many definitions in this regard.
However, given that this work was published in 2005, that is 15 years ago, you can imagine that many things are outdated at this moment. The principles remains the same, especially when it comes to manual testing, but the organization of work and automation are constantly evolving in this industry. So, almost no mention about Selenium or Agile.
Overall, taking into consideration the pluses and the minuses, this is worth a read.