Страницы

Поиск по вопросам

вторник, 16 октября 2018 г.

Интеграционное тестирование .Net приложений

Здравствуйте, мне необходимо реализовать интеграционные тесты настольного .Net приложения, которые будут запускаться после каждого билда. Тестируется бизнес-логика, описан ряд сценариев, которые нужно проверить. Писать юнит-тесты и пытаться замокать все компоненты - не очень здравая идея, нужно тестировать именно приложение. Юнит-тесты уже есть. Запускать тесты хотелось бы автоматически, используя Bamboo или Jenkins, сами тесты писать на C#. Была идея использовать Jmeter, но там только java. Подскажите пожалуйста, есть ли какое-то средство для реализации интеграционных тестов под .net, какой-нибудь аналог JMeter? Насколько правильно реализовывать интеграционные тесты, используя MSTest или NUnit? Как правильно запускать нужное окружение, на котором проводить тестирование?


Ответ

Писать интеграционные тесты, используя MSTest вполне нормально как и NUnut или XUnit это же все лишь фреймворки для выполнения теста как такового. А какой уж это будет тест: Unit, интеграционный, UI, уже дело того, что вы проверяете внутри теста.
По поводу окружения, тут есть разные подходы, например вы можете развернуть MSTest Agent на виртуальных машинах с нужным окружением и подключить их к контроллеру. Для выбора на каком конкретно контроллере вы хотите запустить тест используйте соответствующий .testsettings и .runsettings файлы, у NUnit агентов примерно все так же. При таком подходе код теста выполняется на агенте.
Либо если вы тестируете UI, то можете использовать Selenium Grid, и управлять окружением на уровне Selenium Node. тогда у вас будет один агент например NUnit на нем будет выполняться теста и для работы с UI от будет обращаться к Grid для определенного окружения, а тот уже выбирает свободную ноду.
Резюмирую: Одно окружение устанавливается на все агенты одного контроллера или при другом подходе на все ноды одного грида.
Для выбора окружения нужно выбрать соответствующий контролер или грид.

Комментариев нет:

Отправить комментарий