Как написать автоматизированные системные тесты на C#?

У нас есть старое приложение asp.net, в котором нет модульных тестов, интеграционных тестов, тестов компонентов или UI/функциональных тестов - сюрприз!

Теперь мы хотим внедрить автоматизированное системное тестирование, которое тестирует функциональность так, что когда что-то ломается в приложении, мы немедленно получаем уведомление!

Например, форма регистрации пользователя, где пользователь может ввести имя пользователя и адрес электронной почты и зарегистрироваться в системе.

Сейчас слишком поздно/дорого вводить модульные тесты (так как текущий дизайн не поддается модульному тестированию), поэтому самое важное сейчас - это написание автоматизированных системных тестов.

Например, мы хотим написать тест на C#, который открывает браузер, вводит данные в текстовые поля, нажимает на кнопку Register, затем наш тест проверяет, вставлены ли данные в базу данных, отправлено ли проверочное письмо и в конце показано ли правильное сообщение пользователю (конечно, это только основные сценарии и будет множество частных случаев). По сути, это не тестирование отдельных узлов, а тестирование того, работает ли весь процесс!

Итак, какой инструмент я могу использовать, чтобы помочь мне написать такой тест и автоматизировать его?

Какой подход вы бы посоветовали использовать?

Я посмотрел на Selenium и Fitnesse, но они, кажется, не позволяют мне писать код на C# для тестирования базы данных и т.д. Я посмотрел на SoapUI/LoadUI - та же проблема. Возможно, можно использовать WatiN, но не уверен. Любые мысли/рекомендации будут очень признательны.

Надеюсь, вопрос ясен.

Большое спасибо,

9
задан The Light 24 January 2012 в 17:04
поделиться