SlideShare a Scribd company logo
Когда нужна своя система кросс-
браузерного тестирования и как ее сделать:
техническая платформа и ROI обоснование
Владимир Трандафилов
Докладчик
Владимир Трандафилов, Украина
Quality Control Engineer (Test Automation), Infopulse
• ~2 лет в автоматизации
• QA engineer, преподаватель, тренер
• Ph.D.
/in/vladimir-trandafilov-ph-d-5a1150bb/
Информация
Кросс-браузерность
Кросс-браузерность – это свойство сайта отображаться
и работать во всех популярных браузерах идентично
[wiki].• История возникновения термина («Война браузеров»: статья / фильм)
• Стандарт W3C для браузеров
• Статистика по браузерам: W3school, Clickly, StatCounter, NetMarketShare, GoogleAnalytics
• Как тестировать:
• скриншотер BrowserShots
• виртуализация: VMware workstation, Windows Virtual PC, Oracle VirtualBox
• эмуляторы: IETester, BrowserSandbox
• облачные решения: Multibrowser, CrossBrowserTesting, BrowserStack, SauceLabs,
Lunascape, Browsera
Cross-browser testing – фундаментальная статья по теме от Mozilla Development Network
Обзор проблемы, варианты решения
Кросс-браузерность
Возможные случаи, в которых необходимо создание
собственного окружения:
• Желание заказчика (хочу и все!)
• Облако не покрывает все требования (нет нужного браузера)
• Бдительность заказчика (минимум сторонних ресурсов)
• Существующее окружение (что-то уже есть)
• Финансовая сторона (облака дороже)
* Всегда нужно помнить о наличии времени на создание
Собственное окружение
Проблема
Специфика проекта и требования к тестированию:
• Миграция только front end части c AS + Flash на JS + HTML5 (Angular 2)
• Повышенные требования к безопасности (минимум третьесторонних ресурсов)
• Пять поддерживаемых браузеров по две версии каждого
• Тесты должны быть полностью автоматизированы (~100%)
• Тестовое окружение отсутствует
• Использование Ranorex для автоматизации
• Интеграция процесса тестирования с Jenkins
• Трекинг результатов тестирования в TestLink
Chrome Firefox Safari EDGE IE
54, latest 50, latest 9, 10 13, 14 10, 11
Постановка задачи
Решение
Стоимость облачного решения:
𝐶𝑐.𝑠. 𝑛 𝑚 = 𝑛 𝑚 ∙ с 𝑝.𝑚.,
где: 𝑛 𝑚 – предположительное количество месяцев
использования;
с 𝑝.𝑚. – стоимость «облачного» пакета в месяц,
определяется количеством одновременных
потоков и предоставляемым временем для
выполнения автотестов.
ROI обоснование
𝐶, $
𝑡, 𝑚𝑜𝑛𝑡ℎ𝑠
𝐶𝑐.𝑠. 𝑛 𝑚
𝐶 𝑜.𝑠.
𝑅𝑂𝐼
Стоимость собственного окружения:
𝐶 𝑜.𝑠. = 𝐶𝑐𝑟 + 𝐶𝑙𝑖𝑐 = const,
где: 𝐶𝑐𝑟 – суммарная стоимость создания (работа
DevOps) и настройки (работа QA automation);
𝐶𝑙𝑖𝑐 – суммарная стоимость необходимых
лицензий.
Точка ROI: 𝑛 𝑚
𝑅𝑂𝐼
=
𝐶 𝑐𝑟+𝐶𝑙𝑖𝑐
с 𝑝.𝑚.
= 6,8 ≅ 7 𝑚𝑜𝑛𝑡ℎ.
Решение
Continuous delivery
New build
Auto-deployment on DEV
Run Smoke auto-tests
Run E2E and Regression
auto-tests
Pre-deployment approval
Manual deployment on QA
Post-deployment approval
Pre-deployment approval
Manual Deployment on UAT
Infopulse QA
Customer’s QA
DEV
QA
UAT
Development
bugfix
User acceptance tests
Ready for
Prod
Решение
Структура окружения
Решение
Для каждого типа тестирования (smoke, e2e, regression)
создаются по две job’ы: base и multi-browser
base job – параметризированная job’а, в
которой настроены управление кодом,
сборка (чтоб получить *.exe), интеграция
с TestLink и e-mail уведомления
параметры: BROWSER_VERSION,
FE_BUILD_NUMBER, node
Структура job
multi-browser job – pipeline job’а, которая
с помощью Groovy скрипта запускает
base job на нужном узле с нужным
браузером и определяет номер
последней стабильной сборки front end
для его привязки к результатам
тестирования
Результаты
Как это выглядит в Jenkins
Chrome_v54
Firefox_v50
Результаты
Как это выглядит в TestLink
Результаты
Особенности системы
по крайней мере в одном браузере
есть 1 «упавший» тест
все тесты во всех браузерах
прошли успешно
Результаты
E-mail уведомления и отчеты
Вопросы
5 минут.
Вопросы также можно будет задать в лаунж зоне

More Related Content

What's hot (20)

PPTX
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
SQALab
 
PPT
Настраиваемое тестирование производительности
SQALab
 
PPTX
Тестирование REST-сервисов с применением инженерных практик
SQALab
 
PPT
Нагрузочное тестирование web-приложений с помощью Load Runner
SQALab
 
PDF
Виртуальные среды тестирования (ADD2010)
Dmitry Lobasev
 
PPT
SQADAYS 21 Москва 2017
Adam Sandman
 
PPTX
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Positive Hack Days
 
PPTX
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
SQALab
 
PPTX
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Alexey Kostin
 
PPT
Нагрузочное тестирование
SPB SQA Group
 
PPTX
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
PDF
Transitive dependencies
Andrey Gordienkov
 
PPTX
Построение процесса тестирования производительности игрового клиента
SQALab
 
PPT
Инструментация среды исполнения в арсенале тестировщика
SQALab
 
PPTX
Test Driven Development in ASP.NET MVC 3
Anton Vidishchev
 
PDF
Как мы приручили демона или процесс тестирования демонов в Badoo
SQALab
 
PPTX
Eugene Dmitrichenko - Load testing of web applications
Ciklum Ukraine
 
PPTX
Load testing of web applications
MageCloud
 
PPTX
GUI-автоматизация в Telerik Test Studio
SQALab
 
PPT
Использование игровой модели для выполнения сложных сценарных тестов
SQALab
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
SQALab
 
Настраиваемое тестирование производительности
SQALab
 
Тестирование REST-сервисов с применением инженерных практик
SQALab
 
Нагрузочное тестирование web-приложений с помощью Load Runner
SQALab
 
Виртуальные среды тестирования (ADD2010)
Dmitry Lobasev
 
SQADAYS 21 Москва 2017
Adam Sandman
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Positive Hack Days
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
SQALab
 
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Alexey Kostin
 
Нагрузочное тестирование
SPB SQA Group
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
Transitive dependencies
Andrey Gordienkov
 
Построение процесса тестирования производительности игрового клиента
SQALab
 
Инструментация среды исполнения в арсенале тестировщика
SQALab
 
Test Driven Development in ASP.NET MVC 3
Anton Vidishchev
 
Как мы приручили демона или процесс тестирования демонов в Badoo
SQALab
 
Eugene Dmitrichenko - Load testing of web applications
Ciklum Ukraine
 
Load testing of web applications
MageCloud
 
GUI-автоматизация в Telerik Test Studio
SQALab
 
Использование игровой модели для выполнения сложных сценарных тестов
SQALab
 

Similar to Vladimir Trandafilov - When you need your system of cross browser testing (20)

PPTX
Опыт Автоматизации тестирования
Agile Ukraine
 
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
 
PPTX
Automation Overview
KiraKeiss
 
PDF
Тестирование осень 2013 лекция 3
Technopark
 
PDF
Тестирование весна 2014 смешанное занятие 1
Technopark
 
PDF
Olha Malinina - Organizing of the cross-browser and mobile testing
Ievgenii Katsan
 
PPTX
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab
 
PDF
DevOps guide for awesome quality assurance
Анастасия Асеева
 
PPTX
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Nikita Makarov
 
PPTX
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
SQALab
 
PPT
Автоматизированное тестирование мобильных приложений
Транслируем.бел
 
PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
 
PPT
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
solit
 
PPTX
Поиск багов в поиске
yaevents
 
PPTX
Мобильная Автоматизация в Контексте Continuous Delivery
Igor Dorovskikh
 
PDF
Илья Кудинов
CodeFest
 
PDF
Авто-тесты в кармане // SECR-2015
Dmitry Cheremushkin
 
PDF
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
MoscowJS
 
PPTX
Андрей Зайцев - TDD в кровавом энтерпрайзе
Elias Fofanov
 
PPTX
Do you know what you are testing?
Mikalai Alimenkou
 
Опыт Автоматизации тестирования
Agile Ukraine
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
 
Automation Overview
KiraKeiss
 
Тестирование осень 2013 лекция 3
Technopark
 
Тестирование весна 2014 смешанное занятие 1
Technopark
 
Olha Malinina - Organizing of the cross-browser and mobile testing
Ievgenii Katsan
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab
 
DevOps guide for awesome quality assurance
Анастасия Асеева
 
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Nikita Makarov
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
SQALab
 
Автоматизированное тестирование мобильных приложений
Транслируем.бел
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
solit
 
Поиск багов в поиске
yaevents
 
Мобильная Автоматизация в Контексте Continuous Delivery
Igor Dorovskikh
 
Илья Кудинов
CodeFest
 
Авто-тесты в кармане // SECR-2015
Dmitry Cheremushkin
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
MoscowJS
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Elias Fofanov
 
Do you know what you are testing?
Mikalai Alimenkou
 
Ad

More from Ievgenii Katsan (20)

PDF
8 andrew kalyuzhin - 30 ux-advices, that will make users love you
Ievgenii Katsan
 
PDF
5 hans van loenhoud - master-class the 7 skills of highly successful teams
Ievgenii Katsan
 
PDF
4 alexey orlov - life of product in startup and enterprise
Ievgenii Katsan
 
PDF
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
Ievgenii Katsan
 
PDF
7 hans van loenhoud - the problem-goal-solution trinity
Ievgenii Katsan
 
PDF
1 hans van loenhoud -
Ievgenii Katsan
 
PDF
3 denys gobov - change request specification the knowledge base or the task...
Ievgenii Katsan
 
PDF
5 victoria cupet - learn to play business analysis
Ievgenii Katsan
 
PDF
5 alina petrenko - key requirements elicitation during the first contact wi...
Ievgenii Katsan
 
PDF
3 karabak kuyavets transformation of business analyst to product owner
Ievgenii Katsan
 
PDF
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...
Ievgenii Katsan
 
PDF
3 zornitsa nikolova - the product manager between decision making and facil...
Ievgenii Katsan
 
PDF
4 viktoriya gudym - how to effectively manage remote employees
Ievgenii Katsan
 
PDF
9 natali renska - product and outsource development, how to cook 2 meals in...
Ievgenii Katsan
 
PDF
7 denis parkhomenko - from idea to execution how to make a product that cus...
Ievgenii Katsan
 
PDF
6 anton vitiaz - inside the mvp in 3 days
Ievgenii Katsan
 
PDF
5 mariya popova - ideal product management. unicorns in our reality
Ievgenii Katsan
 
PDF
2 victor podzubanov - design thinking game
Ievgenii Katsan
 
PDF
3 sergiy potapov - analyst to product owner
Ievgenii Katsan
 
PDF
4 anton parkhomenko - how to make effective user research with no budget at...
Ievgenii Katsan
 
8 andrew kalyuzhin - 30 ux-advices, that will make users love you
Ievgenii Katsan
 
5 hans van loenhoud - master-class the 7 skills of highly successful teams
Ievgenii Katsan
 
4 alexey orlov - life of product in startup and enterprise
Ievgenii Katsan
 
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
Ievgenii Katsan
 
7 hans van loenhoud - the problem-goal-solution trinity
Ievgenii Katsan
 
1 hans van loenhoud -
Ievgenii Katsan
 
3 denys gobov - change request specification the knowledge base or the task...
Ievgenii Katsan
 
5 victoria cupet - learn to play business analysis
Ievgenii Katsan
 
5 alina petrenko - key requirements elicitation during the first contact wi...
Ievgenii Katsan
 
3 karabak kuyavets transformation of business analyst to product owner
Ievgenii Katsan
 
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...
Ievgenii Katsan
 
3 zornitsa nikolova - the product manager between decision making and facil...
Ievgenii Katsan
 
4 viktoriya gudym - how to effectively manage remote employees
Ievgenii Katsan
 
9 natali renska - product and outsource development, how to cook 2 meals in...
Ievgenii Katsan
 
7 denis parkhomenko - from idea to execution how to make a product that cus...
Ievgenii Katsan
 
6 anton vitiaz - inside the mvp in 3 days
Ievgenii Katsan
 
5 mariya popova - ideal product management. unicorns in our reality
Ievgenii Katsan
 
2 victor podzubanov - design thinking game
Ievgenii Katsan
 
3 sergiy potapov - analyst to product owner
Ievgenii Katsan
 
4 anton parkhomenko - how to make effective user research with no budget at...
Ievgenii Katsan
 
Ad

Vladimir Trandafilov - When you need your system of cross browser testing

  • 1. Когда нужна своя система кросс- браузерного тестирования и как ее сделать: техническая платформа и ROI обоснование Владимир Трандафилов
  • 2. Докладчик Владимир Трандафилов, Украина Quality Control Engineer (Test Automation), Infopulse • ~2 лет в автоматизации • QA engineer, преподаватель, тренер • Ph.D. /in/vladimir-trandafilov-ph-d-5a1150bb/ Информация
  • 3. Кросс-браузерность Кросс-браузерность – это свойство сайта отображаться и работать во всех популярных браузерах идентично [wiki].• История возникновения термина («Война браузеров»: статья / фильм) • Стандарт W3C для браузеров • Статистика по браузерам: W3school, Clickly, StatCounter, NetMarketShare, GoogleAnalytics • Как тестировать: • скриншотер BrowserShots • виртуализация: VMware workstation, Windows Virtual PC, Oracle VirtualBox • эмуляторы: IETester, BrowserSandbox • облачные решения: Multibrowser, CrossBrowserTesting, BrowserStack, SauceLabs, Lunascape, Browsera Cross-browser testing – фундаментальная статья по теме от Mozilla Development Network Обзор проблемы, варианты решения
  • 4. Кросс-браузерность Возможные случаи, в которых необходимо создание собственного окружения: • Желание заказчика (хочу и все!) • Облако не покрывает все требования (нет нужного браузера) • Бдительность заказчика (минимум сторонних ресурсов) • Существующее окружение (что-то уже есть) • Финансовая сторона (облака дороже) * Всегда нужно помнить о наличии времени на создание Собственное окружение
  • 5. Проблема Специфика проекта и требования к тестированию: • Миграция только front end части c AS + Flash на JS + HTML5 (Angular 2) • Повышенные требования к безопасности (минимум третьесторонних ресурсов) • Пять поддерживаемых браузеров по две версии каждого • Тесты должны быть полностью автоматизированы (~100%) • Тестовое окружение отсутствует • Использование Ranorex для автоматизации • Интеграция процесса тестирования с Jenkins • Трекинг результатов тестирования в TestLink Chrome Firefox Safari EDGE IE 54, latest 50, latest 9, 10 13, 14 10, 11 Постановка задачи
  • 6. Решение Стоимость облачного решения: 𝐶𝑐.𝑠. 𝑛 𝑚 = 𝑛 𝑚 ∙ с 𝑝.𝑚., где: 𝑛 𝑚 – предположительное количество месяцев использования; с 𝑝.𝑚. – стоимость «облачного» пакета в месяц, определяется количеством одновременных потоков и предоставляемым временем для выполнения автотестов. ROI обоснование 𝐶, $ 𝑡, 𝑚𝑜𝑛𝑡ℎ𝑠 𝐶𝑐.𝑠. 𝑛 𝑚 𝐶 𝑜.𝑠. 𝑅𝑂𝐼 Стоимость собственного окружения: 𝐶 𝑜.𝑠. = 𝐶𝑐𝑟 + 𝐶𝑙𝑖𝑐 = const, где: 𝐶𝑐𝑟 – суммарная стоимость создания (работа DevOps) и настройки (работа QA automation); 𝐶𝑙𝑖𝑐 – суммарная стоимость необходимых лицензий. Точка ROI: 𝑛 𝑚 𝑅𝑂𝐼 = 𝐶 𝑐𝑟+𝐶𝑙𝑖𝑐 с 𝑝.𝑚. = 6,8 ≅ 7 𝑚𝑜𝑛𝑡ℎ.
  • 7. Решение Continuous delivery New build Auto-deployment on DEV Run Smoke auto-tests Run E2E and Regression auto-tests Pre-deployment approval Manual deployment on QA Post-deployment approval Pre-deployment approval Manual Deployment on UAT Infopulse QA Customer’s QA DEV QA UAT Development bugfix User acceptance tests Ready for Prod
  • 9. Решение Для каждого типа тестирования (smoke, e2e, regression) создаются по две job’ы: base и multi-browser base job – параметризированная job’а, в которой настроены управление кодом, сборка (чтоб получить *.exe), интеграция с TestLink и e-mail уведомления параметры: BROWSER_VERSION, FE_BUILD_NUMBER, node Структура job multi-browser job – pipeline job’а, которая с помощью Groovy скрипта запускает base job на нужном узле с нужным браузером и определяет номер последней стабильной сборки front end для его привязки к результатам тестирования
  • 10. Результаты Как это выглядит в Jenkins Chrome_v54 Firefox_v50
  • 12. Результаты Особенности системы по крайней мере в одном браузере есть 1 «упавший» тест все тесты во всех браузерах прошли успешно
  • 14. Вопросы 5 минут. Вопросы также можно будет задать в лаунж зоне