Over these past years, testing Java software has become increasingly important and JUnit has imposed itself as a de facto standard that is used in all sections of the industry. However, JUnit has several flaws and limitations which make the task of testers more difficult than it should be. This session will analyze some of JUnit's strengths and weaknesses and will present TestNG, a testing framework based on JDK 1.5 annotations which introduces radically new concepts that allow flexible testing strategies of all kinds: unit, functional, regression, GUI, etc...