As a QA (or a tester) , you should be familiar with
Test Driven Development and such phrases: Test plan, Test case, Test suite, Test report, Test coverage . A good programmer should be familiar with them, too.
For a non-trivial application, there are several kinds of test: Unit, Functional, Integration, System, Acceptance, Regression, Non-functional, Performance, Load, Soak; and Continuous Integration .
Using the good tools can enhance productivity substantially , so let's have a look at some best tools around:
+ IDE : Eclispe, NetBeans
+ Build: Ant, Maven
+ Unit test:
JUnit,
TestNG+ Mock object: JMock, EasyMock
+ Database: DBUnit
+ Servlet container: Cactus
+ Web application:
Selenium, HttpUnit
+ Coverage: Cobertura, Emma
+ Performance: JMeter, Eclipse TPTP
+ Acceptance: Selenium, FitNesse, Stiq
+ Continuous Integration: Cruise Control,
Continuum, Hudson
If you are new to testing in java, you can start with JUnit. My recommended books then are
Java Power Tools (chapter 13), and
Pragmatic Unit Testing: In Java With JUnit .
btw, when you find something more useful feel free to tell me !