There's no doubt that test driven development is an important approach when writing your applications. For Java developers, tools like JUnit, integrated into our IDEs makes this task simple, with no excuse not to have unit tests written for all your logic code. But what about the user interface?
Typically, the UI is left to be tested manually. This is fine for the first release or two, but as new features are added, the regression testing effort becomes way too difficult. Some people write automated scripts to test the user interface. What I'd like to find out today is which tools do Java developers user for automated UI tests, particularly for desktop applications. For web applications, Selenium seems like it's the default option, but for Java based desktop applications, it doesn't look like there is a default option.
I'm interested to hear your thoughts on the value of automated UI tests too. Is there a case for keeping the UI thin enough that JUnit tests can cover enough?