SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Когда нужна своя система кросс-
браузерного тестирования и как ее сделать:
техническая платформа и 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 минут.
Вопросы также можно будет задать в лаунж зоне

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (20)

Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load Runner
 
Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
 
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Transitive dependencies
Transitive dependenciesTransitive dependencies
Transitive dependencies
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиента
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
 
Eugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applicationsEugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applications
 
Load testing of web applications
Load testing of web applicationsLoad testing of web applications
Load testing of web applications
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Использование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестовИспользование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестов
 

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

Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flashguestb0af15
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azureMicrosoft
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspbGonchik Tsymzhitov
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QAFest
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Microsoft
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоSQALab
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестированияGleb Rybalko
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...SQALab
 
Методы выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выборМетоды выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выборDenis Bezkorovayny
 
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...Oleg Chirukhin
 

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

Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flash
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестирования
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Методы выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выборМетоды выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выбор
 
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
 

Más de Ievgenii Katsan

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

Más de Ievgenii Katsan (20)

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

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 минут. Вопросы также можно будет задать в лаунж зоне