Как вы сказали, существуют различные виды тестирования.
Мне нравится юнит-тестирование. Для модульного тестирования вашего веб-сервиса вы должны создать отдельный проект и создать тестовый класс, содержащий несколько методов тестирования. В каждом из этих методов вы проверяете свою DLL (НЕ веб-службу, размещенную на IIS / чем-либо еще) и проверяете, что она ведет себя так, как ожидалось.
Вы также должны убедиться, что DLL не связывается ни с чем снаружи во время UNIT-теста (это означает: файловая система, база данных, другие веб-сервисы, все, что вы не контролируете). Причина этого в том, что вы хотите протестировать ВАШ код, а не возможные проблемы с инфраструктурой, такие как сеть, авторизация или состояние базы данных ...
В VS есть тестеры, или вы можете скачать testdriven.Net или reharper.
См .: http://en.wikipedia.org/wiki/Unit_testing
Тогда есть и интеграционные тесты. Они будут в основном тестировать веб-сервис, когда он размещен в IIS, и убедиться, что настройка в целом работает без сбоев. Интеграционный тест дополняет юнит-тест, но не должен быть единственным тестом. Я бы зашел так далеко и сказал: «Интеграционные тесты - это поздние тесты», а исправление ошибок, обнаруженных во время интеграции, обычно стоит дороже, чем исправление обнаруженных во время модульных тестов.