I have an existing asp.net webforms application that I would like to add some unit testing to but am unsure of exactly how to go about it.
The application is database driven with functionality I guess you could compare to an advanced forum. Logic, data access and presentation are seperated for the most part.
What methods should I be testing?
How do I handle the database and test data?
Are there any tools recommended to assist in this?
The first thing you need to decide is: What is your motivation for adding unit tests?
There are many excellent reasons for having unit tests (I rigorously practice TDD myself), but knowing which one is the main driving force in your case should help you decide which tests to first write.
In most cases you should concentrate on writing unit tests for the areas of your application that have been causing you the most pain in the past.
Much experience has shown that when software originally was written without unit tests, it can be hard to subsequently retrofit unit tests. Working Effectively with Legacy Code provides valuable guidance on how to make an untested software projects testable.