Тестирование инсталляторов

Post on 13-Apr-2017

459 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

Transcript

Software quality assurance days19 Международная конференция по вопросам качества ПОsqadays.com

Санкт-Петербург. 20–21 мая 2016

Батищев ЕвгенийАркадия. Санкт-Петербург, Россия

Тестирование инсталляторов

Тестирование инсталляторов

Немного о себе

Батищев Евгений

Программист, Аркадия.

• Разработка• Разработка очень быстро• Разработка очень качественно• “Сделайте так, чтобы работало, пожалуйста”

Batonrain@gmail.com

Тестирование инсталляторов

Зачем тестировать инсталляторы или немного банальщины

Тестирование инсталляторов

«Встречают по одёжке»

• Первое впечатление о Вашем продукте зависит от Вашего инсталлятора

• Никто не хочет сидеть и долго разбираться с установкой• Пользователю, в целом, не важны причины плохого

поведения установщика

Тестирование инсталляторов

Зачем тестировать?Что не получите, если не протестировать свой инсталлятор?•Не получите интересного опыта•Не получите заслуженной похвалы•Не получите заслуженных денег

Что получите, если не протестировать свой инсталлятор?•Проблемы с заказчиками/начальством/пользователями•Вам будут звонить и дышать в трубку те, кто познал всю горечь вашего инсталлятора•В крайнем случае можно получить по лицу от заказчика/начальства/пользователя

Тестирование инсталляторов

«Я есть Альфа и Омега»Где всё зависит от

инсталлятора?• Мобильные приложения• Настольные приложения• Игры, офисные приложения, рабочие программы и т.д.

Тестирование инсталляторов

Каковы задачи инсталлятора?

• Установка• Обновление• Удаление

Тестирование инсталляторов

Что надо тестировать?

• Успешную установку ПО• Настройки установленного ПО• Обновление ПО• Удаление ПО

Тестирование инсталляторов

Больше подробностей

• Список файлов в пакете установщика• Работу Installation Wizard’а• Список установленных файлов• Регистрацию приложения в ОС• Права доступа пользователя• Откаты установки в случае отмены установки• И многое-многое другое

Тестирование инсталляторов

Как всё это протестировать?

• Ручное тестирование• Составление графа состояний и переходов

• Автоматизированное тестирование• Autoit• Своё, родное

Тестирование инсталляторов

Лучшие практики тестирования установщиков

Тестирование инсталляторов

Ручное тестирование

• Составление графа состояний и переходов

Тестирование инсталляторов

Составление графа состояний и переходов(State-transition diagram)• Выделяем состояния для каждого шага инсталлятора• Выделяем конечные состояния: установка отменена,

установка завершена, аварийное прерывание установки• Строим граф, учитывая кнопки Next, Back, Cancel• Выписываем наборы тестов, учитывая граф• Тестируем• PROFIT!!!

Тестирование инсталляторов

Автоматизированное тестирование

• Autoit• Своё, родное

Тестирование инсталляторов

Autoit

• Что это такое?• Свободно распространяемый язык для

автоматизации выполнения задач в Microsoft Windows

• Как работает?• Использует симуляцию нажатия клавиш, движений

мыши и манипуляции с окнами, элементами управления

• Что с этим делать?• Писать скрипты и радоваться

Тестирование инсталляторов

Своё, родное и любимое

• Очень часто необходимо писать софт для тестирования своих продуктов

• Плюсы• Заточенность под собственный продукт• Возможности изменений тест-кейсов под нужды

каждой новой версии продукта• Минусы

• Заточенность только под конкретный свой продукт• Могут быть свои проблемы с реализацией и

настройкой

Тестирование инсталляторов

Личный опыт

Тестирование инсталляторов

Короткий опыт разработки на InstallAware

• Предназначен для создания установщиков• Содержит в себе множество готовых расширений

установщиков• Удобная работа с входными параметрами – можно хоть

через консоль запускать установку• Крайне не удобный язык написания скриптов• Невозможность переименовывать файлы и менять их

расположение в списке файлов скриптов• Медленное время работы

Тестирование инсталляторов

Что нужно было сделать?

• Установщик, который занимался бы:• Проверкой системных конфигураций• Развёрткой веб-приложение на IIS с заданным

портом и названием• Созданием БД и накатываем миграционных скриптов• Обновлением существующих компонентов• Возможность “тихой” установки

Тестирование инсталляторов

История• Во время разработки не было сделано заделов для тестирования

• Сначала проводилось только ручное тестирование без построения графа состояний

• Когда установщик стал разростаться, была создана программа для тестирования установщика с разнообразными настройками

• Программа учитывала как положительные, так и отрицательные сценарии, что позволило увеличить скорость тестирования и качество

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

• Для самой программы тестирования пришлось переделать многое в скрптах установщика

Тестирование инсталляторов

Как бы я это сделал сейчас?

• Создали бы базу кодов ошибок• В автотестере учли бы возможность изменения порядка

шагов тестирования• Заранее закладывали бы больше времени на ручное

тестирование и тестирование на других ОС• Утилита для тестирования писалась бы практически в

одно время с разработкой инсталлятора

Тестирование инсталляторов

Вопросы?

• Email: batonrain@gmail.com• Skype: batonrain

top related