бесплатный инструмент автоматического регрессионного тестирования для приложений asp.net? - PullRequest
2 голосов
/ 16 сентября 2010

Мы работаем в небольшой команде.У нас часто возникали проблемы, такие как developer1 вносил изменения в хранимую процедуру или функцию, и это влияло на работу developer2Такие проблемы прослеживаются случайно позже.Пожалуйста, объясните мне, как можно решить такие проблемы.Есть ли бесплатный инструмент, который мы можем запустить для проверки таких проблем?

Ответы [ 3 ]

4 голосов
/ 16 сентября 2010

Медленно вводите модульные тесты, целевые интеграционные тесты и полные системные тесты .

Для всех этих целей используйте инфраструктуру модульного тестирования .net. Это будет то, что вы делаете в тесте, что делает его любым из вышеперечисленных сценариев. Обязательно держите каждый из этих трех типов тестов отдельно , так как они будут иметь большую разницу в скорости, необходимой для их выполнения.

В качестве основы для модульного тестирования я предлагаю NUnit , но есть и другие, которые я нашел интересными, но никогда не делал прыжок, это xUnit.net .

Для полных системных тестов я предлагаю запускать их в рамках модульного тестирования, используя WatiN . Вы также можете пойти с Selenium RC .

У нас часто возникали проблемы, такие как developer1 вносил некоторые изменения в хранимую процедуру или функцию, и это влияло на работу developer2. Такие проблемы прослеживаются случайно позже.

Для этого конкретного типа сценария я настоятельно рекомендую сфокусированные интеграционные тесты . Полные системные тесты могут поймать такой сценарий, но он все равно оставит вас понять, почему он сломался.

Вместо этого сфокусируйте тест в очень специфическом коде доступа к БД, который выполняет вызов этой процедуры. Добавив сценарии, которые раскрывают все ожидания, которые разработчик2 ожидал от упомянутой процедуры, когда он (-ы) написал соответствующий код .net, проблемы регрессии с этим кодом интеграции могут быть выявлены очень быстро и решаться очень эффективно. Также обратите внимание, что developer1 может легко запускать целенаправленные интеграционные тесты, которые многократно затрагивают эту процедуру или область базы данных / что происходит гораздо чаще, чем при полных системных тестах.

1 голос
/ 16 сентября 2010

Вы можете выполнить либо автоматическое модульное тестирование, используя такие инструменты, как NUnit , либо автоматическое тестирование черного ящика, используя такие инструменты, как Selenium . Обратите внимание, что оба варианта (даже с бесплатными инструментами) могут потребовать значительных затрат времени и усилий. Как правило, случаи модульного тестирования создаются самими разработчиками, в то время как для автоматического тестирования черного ящика используется отдельная команда QA - это главным образом потому, что примеры модульного тестирования обычно пишутся на таких языках, как C #, VB.NET, в то время как автоматический черный ящик Инструменты тестирования обычно используют скриптовые языки.

0 голосов
/ 17 сентября 2010

Мы работаем с iMacros. Аддоны браузера iMacros ( IE , Firefox , Chrome ) действительно просты в использовании - также для разработчиков / пользователей, которые не являются полными тестеры времени. Поскольку эти «макросы» (= тестовые случаи) являются простыми текстовыми файлами, мы сохраняем их вместе с веб-сайтом в нашем GIT SVN.

...