Assume that my knowledge in programming is in novice level. Many thanks.
I personally liked Bob Martin "Agile Principles, Patterns and Practices in C#"
This is a great intro, very practical, and doesn't assume you're going to be a high-level pro right away: The Art of Unit Testing. (It's .NET centric)
Heavier, but worth it if you are in the situation where you have existing code that needs to be improved, is Working Effectively With Legacy Code.
Also, some people's main problem with doing TDD is that they need to understand OOP/D better, in particular OOP/D where SOLID-type principals are valued. If this is the case, investigate the fantastic Code Complete, and 2 books by Uncle Bob: Clean Code a great Agile Principles, Patterns, and Practices in C# (.NET centric).
Agile Java is a good one, clear and clean and easy to follow for beginner.
I used Test-Driven Development: A Practical Guide by David Astels to get started. I like it - its introductory chapters are practical but easy to follow, and then its later chapters take you through a project step-by-step. Its written with java in mind.