Independently of whether you have unit tests in your solution or not, dotCover allows you to analyze code coverage for executed applications. After running an application under control of dotCover and executing it in specific scenarios, you will get a coverage snapshot with statement coverage of the run. Using the data in this snapshot, you can get down to the source code of the covered application and see what parts of the code were called during the executed scenarios and what was not reached.
note
Same as for unit tests, statement coverage here does not guarantee that the covered statements contain no errors. However, these data will help you analyze which parts of your code were unreached in your execution scenarios.
There are two ways of running applications under control of dotCover: