Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Software quality assurance days
19 Международная конференция
по вопросам качества ПО
sqadays.com
Санкт-Петербург. 20–21 ма...
Тестирование инсталляторов
Немного о себе
Батищев Евгений
Программист, Аркадия.
• Разработка
• Разработка очень быстро
• Р...
Тестирование инсталляторов
Зачем тестировать инсталляторы
или немного банальщины
Тестирование инсталляторов
«Встречают по одёжке»
• Первое впечатление о Вашем продукте зависит от Вашего
инсталлятора
• Ни...
Тестирование инсталляторов
Зачем тестировать?
Что не получите, если не протестировать свой
инсталлятор?
•Не получите интер...
Тестирование инсталляторов
«Я есть Альфа и Омега»
Где всё зависит от инсталлятора?
• Мобильные приложения
• Настольные при...
Тестирование инсталляторов
Каковы задачи инсталлятора?
• Установка
• Обновление
• Удаление
Тестирование инсталляторов
Что надо тестировать?
• Успешную установку ПО
• Настройки установленного ПО
• Обновление ПО
• У...
Тестирование инсталляторов
Больше подробностей
• Список файлов в пакете установщика
• Работу Installation Wizard’а
• Списо...
Тестирование инсталляторов
Как всё это протестировать?
• Ручное тестирование
• Составление графа состояний и переходов
• А...
Тестирование инсталляторов
Лучшие практики тестирования
установщиков
Тестирование инсталляторов
Ручное тестирование
• Составление графа состояний и переходов
Тестирование инсталляторов
Составление графа состояний и
переходов(State-transition diagram)
• Выделяем состояния для кажд...
Тестирование инсталляторов
Автоматизированное
тестирование
• Autoit
• Своё, родное
Тестирование инсталляторов
Autoit
• Что это такое?
• Свободно распространяемый язык для
автоматизации выполнения задач в M...
Тестирование инсталляторов
Своё, родное и любимое
• Очень часто необходимо писать софт для тестирования
своих продуктов
• ...
Тестирование инсталляторов
Личный опыт
Тестирование инсталляторов
Короткий опыт разработки на
InstallAware
• Предназначен для создания установщиков
• Содержит в ...
Тестирование инсталляторов
Что нужно было сделать?
• Установщик, который занимался бы:
• Проверкой системных конфигураций
...
Тестирование инсталляторов
История
• Во время разработки не было сделано заделов для тестирования
• Сначала проводилось то...
Тестирование инсталляторов
Как бы я это сделал сейчас?
• Создали бы базу кодов ошибок
• В автотестере учли бы возможность ...
Тестирование инсталляторов
Вопросы?
• Email: batonrain@gmail.com
• Skype: batonrain
Upcoming SlideShare
Loading in …5
×

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

646 views

Published on

Доклад Евгения Батищева на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

Published in: Education
  • Be the first to comment

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

  1. 1. Software quality assurance days 19 Международная конференция по вопросам качества ПО sqadays.com Санкт-Петербург. 20–21 мая 2016 Батищев Евгений Аркадия. Санкт-Петербург, Россия Тестирование инсталляторов
  2. 2. Тестирование инсталляторов Немного о себе Батищев Евгений Программист, Аркадия. • Разработка • Разработка очень быстро • Разработка очень качественно • “Сделайте так, чтобы работало, пожалуйста” Batonrain@gmail.com
  3. 3. Тестирование инсталляторов Зачем тестировать инсталляторы или немного банальщины
  4. 4. Тестирование инсталляторов «Встречают по одёжке» • Первое впечатление о Вашем продукте зависит от Вашего инсталлятора • Никто не хочет сидеть и долго разбираться с установкой • Пользователю, в целом, не важны причины плохого поведения установщика
  5. 5. Тестирование инсталляторов Зачем тестировать? Что не получите, если не протестировать свой инсталлятор? •Не получите интересного опыта •Не получите заслуженной похвалы •Не получите заслуженных денег Что получите, если не протестировать свой инсталлятор? •Проблемы с заказчиками/начальством/пользователями •Вам будут звонить и дышать в трубку те, кто познал всю горечь вашего инсталлятора •В крайнем случае можно получить по лицу от заказчика/начальства/пользователя
  6. 6. Тестирование инсталляторов «Я есть Альфа и Омега» Где всё зависит от инсталлятора? • Мобильные приложения • Настольные приложения • Игры, офисные приложения, рабочие программы и т.д.
  7. 7. Тестирование инсталляторов Каковы задачи инсталлятора? • Установка • Обновление • Удаление
  8. 8. Тестирование инсталляторов Что надо тестировать? • Успешную установку ПО • Настройки установленного ПО • Обновление ПО • Удаление ПО
  9. 9. Тестирование инсталляторов Больше подробностей • Список файлов в пакете установщика • Работу Installation Wizard’а • Список установленных файлов • Регистрацию приложения в ОС • Права доступа пользователя • Откаты установки в случае отмены установки • И многое-многое другое
  10. 10. Тестирование инсталляторов Как всё это протестировать? • Ручное тестирование • Составление графа состояний и переходов • Автоматизированное тестирование • Autoit • Своё, родное
  11. 11. Тестирование инсталляторов Лучшие практики тестирования установщиков
  12. 12. Тестирование инсталляторов Ручное тестирование • Составление графа состояний и переходов
  13. 13. Тестирование инсталляторов Составление графа состояний и переходов(State-transition diagram) • Выделяем состояния для каждого шага инсталлятора • Выделяем конечные состояния: установка отменена, установка завершена, аварийное прерывание установки • Строим граф, учитывая кнопки Next, Back, Cancel • Выписываем наборы тестов, учитывая граф • Тестируем • PROFIT!!!
  14. 14. Тестирование инсталляторов Автоматизированное тестирование • Autoit • Своё, родное
  15. 15. Тестирование инсталляторов Autoit • Что это такое? • Свободно распространяемый язык для автоматизации выполнения задач в Microsoft Windows • Как работает? • Использует симуляцию нажатия клавиш, движений мыши и манипуляции с окнами, элементами управления • Что с этим делать? • Писать скрипты и радоваться
  16. 16. Тестирование инсталляторов Своё, родное и любимое • Очень часто необходимо писать софт для тестирования своих продуктов • Плюсы • Заточенность под собственный продукт • Возможности изменений тест-кейсов под нужды каждой новой версии продукта • Минусы • Заточенность только под конкретный свой продукт • Могут быть свои проблемы с реализацией и настройкой
  17. 17. Тестирование инсталляторов Личный опыт
  18. 18. Тестирование инсталляторов Короткий опыт разработки на InstallAware • Предназначен для создания установщиков • Содержит в себе множество готовых расширений установщиков • Удобная работа с входными параметрами – можно хоть через консоль запускать установку • Крайне не удобный язык написания скриптов • Невозможность переименовывать файлы и менять их расположение в списке файлов скриптов • Медленное время работы
  19. 19. Тестирование инсталляторов Что нужно было сделать? • Установщик, который занимался бы: • Проверкой системных конфигураций • Развёрткой веб-приложение на IIS с заданным портом и названием • Созданием БД и накатываем миграционных скриптов • Обновлением существующих компонентов • Возможность “тихой” установки
  20. 20. Тестирование инсталляторов История • Во время разработки не было сделано заделов для тестирования • Сначала проводилось только ручное тестирование без построения графа состояний • Когда установщик стал разростаться, была создана программа для тестирования установщика с разнообразными настройками • Программа учитывала как положительные, так и отрицательные сценарии, что позволило увеличить скорость тестирования и качество • Минусом стало постоянное сопровождение программы тестирования, ибо постоянно добавлялись новые сценарии • Для самой программы тестирования пришлось переделать многое в скрптах установщика
  21. 21. Тестирование инсталляторов Как бы я это сделал сейчас? • Создали бы базу кодов ошибок • В автотестере учли бы возможность изменения порядка шагов тестирования • Заранее закладывали бы больше времени на ручное тестирование и тестирование на других ОС • Утилита для тестирования писалась бы практически в одно время с разработкой инсталлятора
  22. 22. Тестирование инсталляторов Вопросы? • Email: batonrain@gmail.com • Skype: batonrain

×