Автоматизация заданий для регрессионного тестирования уровня сервиса (Powershell / MSBuild)

В среде разработки .net я хочу реализовать некоторые сценарии регрессионного тестирования, чтобы выполнить некоторое сквозное (/ blackbox) тестирование на полностью настроенном серверном приложении, что в конечном итоге окажется довольно сложным.

Моя первоначальная мысль заключалась в том, чтобы развернуть мои собственные сценарии PowerShell / XML-конфигурацию шагов. Но я хотел провести некоторый анализ, чтобы увидеть, есть ли что-нибудь, что я мог бы повторно использовать, и, возможно, что сделал кто-то еще, что могло бы оказаться лучшей практикой (чего я еще не нашел).

Я понял, что потенциально могу просто использовать проект MSBuild вместе с MSBuildExtensions и задачами сообщества, но я обнаружил, что эти сценарии сложнее изменять / поддерживать в долгосрочной перспективе.

Пример некоторых этапов работы, которые я бы написал для одного из приложений:

  • Скопируйте файлы в определенные каталоги и инициируйте загрузку службы
  • Подождите, пока служба загрузит файлы (проверка таблиц sql на предмет завершения задания)
  • Обрезка таблиц (и т. Д. В базах данных sql)
  • Сравнение вывода таблицы sql с ожидаемыми результатами
  • Разбор файлов журнала
  • и так далее

Какой-нибудь довольно простой PowerShell сможет удовлетворить большинство из них. Мне было бы интересно узнать мнение: что вы используете, если у вас есть сквозное тестирование в стиле регрессии? Прокатиться самостоятельно, чтобы получить довольно простую и конкретную реализацию, или использовать сторонний инструмент (например, MSBuild или что-то еще)?


person JamesDill    schedule 20.01.2016    source источник


Ответы (1)


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

MSBuild превосходит повторное использование задач и разрешение цепочки зависимостей. PowerShell блестяще сжимает сложные процессы в набор из нескольких элегантных команд. В вашем сценарии я бы, вероятно, использовал PowerShell для ориентированных на интеграцию DSL очередей заданий, базы данных, ввода-вывода. Я бы сохранил MSBuild для создания артефактов сборки.

Нет необходимости в стороннем инструменте, если только он не лучший в своей области и цена не подходит (= с открытым исходным кодом или уже приобретенный вашей компанией).

person KMoraz    schedule 21.01.2016