Testing UI

time to read 2 min | 241 words

I've a question regarding testing GUI applications, spesifcally, it's related to NHibernate Query Analyzer.

I started this application as a spike (I think that is the XP term) / proto-type, so I didn't bother writing tests or following any TDD rules. Currently, the only tests that were done to the product were manual ones, with me running the application and writing down the results.

Now, NHibernate Query Analyzer is no longer a prototype, and I'm a bit uncomfortable using it without tests. It's compromised from several core/utitilies classes, with all the rest being UI. Writing the tests for the core wouldn't be a problem, but how do I test the UI?

I'm aware of NUnit.Forms but I wonder how far should I take it? When do I stop doing Unit Testing and move to integration testings? When I make a change in the UI, and save it, do I need to verify that it was saved correctly, or to trust the core tests to catch that? What about missing links in the core<->UI connections (so I forget to save a field), how do I catch that? In the UI layer (save and then load, then test it all?) or do I go directly to the core classes?

Any ideas would be welcomed,

Thanks in advance,