Как автоматизировать тестирование установщика
Мне интересно, есть ли у кого-нибудь лучшие практики для автоматизации тестирования установщиков на разных машинах с потенциально разными аппаратными / программными профилями и с указанием различных опций для установщика. Идея состояла бы в том, что я мог бы написать код, подобный модульному тесту, чтобы настроить машину, запустить установщик, а затем проверить, что определенные вещи верны. Тесты могут выглядеть примерно так:
Test:
Boot Machine without IIS
Run Installer
Assert Installer Had Errors
Test:
Boot Machine with IIS
Run Installer
Assert Installer Ran
Test_Fixture:
SetUp:
Boot Machine with IIS
Test:
Run Installer without IIS install
Assert Website Not Installed
Test:
Run Installer with IIS install
Assert Website Installed
Я знаю, что мог бы создать много виртуальных машин, но ожидание загрузки виртуальной машины для каждого функционального теста звучит как намного больше работы, чем я хочу. Что я действительно хочу, так это способ виртуализации среды установщика. Какие-либо предложения?
2 ответа
Мы создали набор виртуальных машин, и им очень легко управлять. Мы запустили тесты для 13 различных установщиков Windows за ночь. Виртуальные машины, которые мы создали, очень скромны, поэтому можно выполнять несколько тестов параллельно.
Если у вас есть установщик, запускаемый из командной строки, легко иметь скрипт для его автоматического вызова.
Затем вы можете использовать инструмент тестирования веб-приложений, чтобы убедиться, что установка прошла успешно, например, http://seleniumhq.org/ Для этого вам понадобится уникальный способ тестирования новой установки - например, страницы с текущей версией.