- Почему вы не работаете? — Он проходит испытания Здравствуйте, Хабролюди.
Решил поделиться с вами своим опытом на тавтологическую тему — автоматизацию автоматизированного тестирования.
Как мы все знаем, чтобы не тратить время на регрессионные тесты, умные тестировщики однажды придумали использовать для запуска тестов что-то кроме рук.
Но мне хотелось автоматизировать полный цикл, то есть от начала испытаний до получения результатов.
Так…
Задача.
Автоматизируйте циклическое тестирование приложения на разных операционных системах без участия человека.
Состояние.
Есть программный продукт, новые версии которого активно разрабатываются.
Поэтому необходимость регрессионного тестирования очевидна.
Продукт мультиплатформенный — его необходимо тестировать на разных операционных системах.
По аппаратному обеспечению имеется 5 тестовых компьютеров, 1 сервер, 1 FTP-сервер — всё это ласково называется «тестовая ферма».
Сложность в моем случае заключалась в том, что все это находилось от меня за 2 тысячи километров и доступ был только через RDP и KVM. С точки зрения программного обеспечения, тестируемое приложение написано с использованием Qt, и для тестирования выбран Squish. Acronis Snap Deploy используется для установки различных операционных систем на тестовые компьютеры.
Решение.
Есть скрипты, которые непосредственно тестируют приложение.
Вам нужно их запустить, получить результаты, сменить ОС, запустить их, получить результаты и так по циклу.
В конце концов, было бы неплохо как-то отформатировать эти результаты.
Как Acronis Snap Deploy автоматически устанавливает образ системы на целевой компьютер? Для установки образа в более автоматическом режиме нам необходимо перезагрузить целевой компьютер, когда он поймает PXE-сервер (предварительно компьютеры должны быть настроены на загрузку с сетевой карты), выбрать PE Media. Загрузится среда PE, в которой вы сможете локально запустить развертывание образа системы.
PE-среду необходимо подготовить заранее, то есть собрать и вставить в нее утилиту Aronis Snap Deploy Command Line (asdcmd.exe) и сервис psexesvc.exe, поместить в Acronis PXE Server и установить для нее загрузку по умолчанию.
Как мы будем запускать спринты? На сервере тестовой фермы (об этом мы только поговорим дальше) по расписанию будет запускаться .
bat-файл, который и будет запускать скрипты.
Итак, цепочка, которая собственно и раскрывает всю мощь .
bat-файлов и psexec в частности: В определенное время запускается .
bat-файл, который вызывает развертывание необходимой системы на целевом компьютере: запускаем службу Acronis, так как потом отключим ее; отправить целевой компьютер с IP = comIP на перезагрузку; тянем время, ждем, пока компьютер перезагрузится, подхватит PXE-среду и зайдет в PE Media; отключить службу Acronis, чтобы после развертывания образа системы загружалась ОС, а не PE Media, который по умолчанию установлен на PXE-сервере; Собственно сам скрипт развертывания, подробности описывать не буду, все есть в мануале.
net start AcronisPXE.exe
psexec \\ compIP reboot
ping compIP
ping compIP
net stop AcronisPXE.exe
psexec \\ compIP asdcmd /deploy [param]
Далее ждем, пока образ развернется.
Для этого нам нужно заранее в каждое изображение вставить файл (их все равно нужно создать), например Ready.txt. Проверяем, когда файл станет доступен, что говорит об окончании развертывания: psexec \\compIP cmd
if exist ready.txt (
goto do
) else ( ping compIP)
do scripts.bat
Таким образом, после установки образа приступаем к тестированию.
Файл scripts.bat запускает установку Squish, тестирует, генерирует результаты, отправляет их и т. д. В конце он вызывает наш батник, который повторяет все это снова.
Чтобы процесс не был цикличным, управлять им можно разными способами, например, простым счетчиком.
Заключение.
Это решение позволяет нам дважды щелкнуть значок запрета, чтобы запустить весь процесс многоплатформенного автоматического тестирования.
Я также не думаю, что это очень нетривиальная задача, и я думаю, что должны быть какие-то более простые решения этой проблемы.
Теперь копаю в сторону Альтириса.
Спасибо всем, что нашли время прочитать этот опус.
Теги: #qa #автоматическое тестирование #batch #Чулан
-
Lenovo Thinkpad Egde 13
19 Oct, 24 -
Важность Контроля При Создании Вашего Блога
19 Oct, 24 -
7 Типов Ужасных Боссов Игровой Индустрии
19 Oct, 24 -
Тихо-Тихо Ползи, Хайку, По Склону Фудзи.
19 Oct, 24 -
Архитектура Приложения — «Горячие Точки»
19 Oct, 24 -
Давай Поиграем С Жизнью
19 Oct, 24 -
Флеш - Прошел Игру
19 Oct, 24