SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Software quality assurance days
19 Международная конференция
по вопросам качества ПО
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

Weitere ähnliche Inhalte

Was ist angesagt?

Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииDeutsche Post
 
Эффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаЭффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаSQALab
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийSQALab
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QAFest
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!SQALab
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестированияRina Uzhevko
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеSQALab
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQAFest
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTSQALab
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестированиеRina Uzhevko
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформаSQALab
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...Rina Uzhevko
 

Was ist angesagt? (20)

Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
Эффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаЭффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитика
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестирование
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
 

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

Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Yandex
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла0leGG
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Контроль качетсва в компании iiko
Контроль качетсва в компании iikoКонтроль качетсва в компании iiko
Контроль качетсва в компании iikoAlexey Chumagin
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingAlexandr Zinovyev
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian versionAlexander Pushkarev
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Александр Шамрай
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 

Ähnlich wie Тестирование инсталляторов (20)

Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Контроль качетсва в компании iiko
Контроль качетсва в компании iikoКонтроль качетсва в компании iiko
Контроль качетсва в компании iiko
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian version
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 

Mehr von SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информацияSQALab
 

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 

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

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