I'm doing some extensive reading/research about this subject so I'll share the good articles/slidshows/books/answers I found:
http://www.qaautomation.net/?cat=7 : I used this website & I thought it was pretty good (for Selenium anyway).
http://www.vogella.com/articles/JUnit/article.html : just had a
look & seems interesting
wakaleo: junit-kung-fu-getting-more-out-of-your-unit-tests : a great overview on some key JUnit features
Test-your-web-application-s-UI-with-JUnit-and-Selenium
testing-a-web-application-with-selenium-2/ : Selenium + JUnit
Selenium best practice
You use JUnit so you want to know Hamcrest
SO question: how-to-use-junit-and-hamcrest-together
(TBC) Be careful when using JUnit & Hamcrest together: if Hamcrest has a version greater or equal to 1.2, then you should use the junit-dep.jar. This jar has no hamcrest classes and therefore you avoid classloading problems.
Moreover regarding Hamcrest, it states on its google code page that "Hamcrest it is not a testing library: it just happens that matchers are very useful for testing". Hence you may want to look into FEST "whose mission is to simplify software testing".
SO question: junit-one-test-case-per-method-or-multiple-test-cases-per-method
SO question: selenium-junit-tests-how-do-i-run-tests-within-a-test-in-sequential-order
tomek kaczanowscy's blog: author of "Practical Unit Testing" (see below)
This book came out recently (Published in 2012 vs lots of out-of-date books) & it looks very interesting: Practical Unit Testing with TestNG and Mockito by Tomek Kaczanowski
Finally, you probably want to look at a mocking framework (ie. Mockito, JMock, EasyMock):
SO question: what-are-mock-objects-in-java
SO question: what-does-a-mocking-framework-do-for-me
http://mestachs.wordpress.com/2012/07/09/mockito-best-practices/