Разработчики всегда отвечали за тестирование своего кода (перед его передачей тестерам).
В прошлом это означало прохождение по всем строкам кода в отладчике (в том числе кода всех условий и ошибок). Прохождение по всему коду было отличной вещью, но выполнялось не всегда (и его было очень трудно проверить). После изменений и обновлений кода эта проверка часто вообще не делалась. В результате к тестерам уходили менее качественные построения.
Очевидно, что здесь есть необходимость автоматизации модульного тестирования. В результате были разработаны инфраструктуры модульного тестирования. Первой такой инфраструктурой для .NET была NUnit (проект с открытым исходным кодом), позволяющая вам писать код, который тестирует другой код. Аналогичная инфраструктура была встроена в Visual Studio 2005, имеется она также и в Visual Studio 2008. С ее помощью разработчики могут писать модульные тесты, которые вызывают их код и тестируют возможные условия и результаты.
Примечание
Модульное тестирование в Visual Studio 2008 не является специфичным для версии Development Edition данного продукта. Оно имеется также и в версии Professional, и в более высоких.
Инфраструктура модульного тестирования в Visual Studio позволяет вам создавать тесты при создании ваших приложений. Либо (если вы используете управляемую тестами разработку) вы можете написать ваши тесты до того, как напишете свой код. В любом случае дисциплинированный подход к модульному тестированию может привести к созданию полного набора тестов одновременно с вашим приложением.
Этот полный набор тестов часто является регрессивным тестированием большинства компонентов или всей системы. Результатом будет повышенная уверенность в прежде чрезвы1- чайно рискованных действиях, таких как: выполненные в последнюю минуту исправления, рефакторинг и поздние добавления. Когда происходят такие события, то вы можете использовать полный набор ваших модульных тестов для обнаружения возможных мест повреждения вашего кода.
Примечание
Модульное тестирование для баз данных специфично для версии Database Edition и поэтому рассматривается в главе 29. Автоматизированное тестирование (которое обычно проводится тестерами при пЬмощи Team System Test Edition) описывается в главе 28.