SlideShare une entreprise Scribd logo
1  sur  46
Микро сервисы – Хирургическая
бригада автоматизации
тестирования с помощью Selenium
О себе
• Я тестировщик
• В тестировании около 6 лет
• Занимаюсь автоматизацией тестирования
в Одноклассниках
При проведении тестирования
Когда что-то автоматизируют
При автоматизации тестирования
При автоматизации тестирования
Инфрастуктура автотестирования
NODE1

NODE 2
HUB
NODE 3

NODE 4
NODE N
Скриншоты

Память
Трафик
Информативность
Память
Узкое место
Информативность
Что-то другое..
Может надо хранить
скриншоты там, где их снимали
…А в отчеты передавать только
ссылки
… и позаботиться, чтобы и на
нодах место не кончалось
Сервис скриншотов
Транскодирование
PNG

PNG
WebP
Что получилось
•
•
•
•
•

Скриншоты локальные
WebP
Самоочистка
Нативный скриншот
+1 сервис
Зависание нод
Node
Driver
Browser
Агент
172.6.3.23:4947

/Screenshot
/Killer
Что получилось
• Управление временем жизни браузера
• Возможность перезагружать ноды
• +1 хэндлер к агенту
Решенные проблемы
/screenshot

/killer

Node Agent
/cache
/distr
/hosts
Контент
Музыка

Фото
Видео
Local File Detector - принцип

HUB

NODE
Local File Detector - схема
NODE
HUB

NODE

NODE
Как это работает
Итог по инфраструктурным
проблемам
•
•
•
•

Дополнительные рычаги управления
Ускорение процесса общения с инфраструктурой
Решение инфраструктурных проблем
+2 сервиса
При автоматизации тестирования
Что мы хотим от автотестов

Скорость

Надежность

Окружения

Удобство

Трудные места
Стандартное расширение

NODE1

NODE 2

HUB

NODE1

NODE 2

NODE 3

HUB

NODE 4
Как выглядят тесты
t Теста

BEFORE

TEST

t

AFTER
Как должны выглядеть тесты
t

TEST1

TEST2

TEST3
Как бы это сделать…?
?

BEFORE
private static final

TEST

AFTER
Проблемы статических данных
Кэши
• Пользовательские
• Контентные
Окружения
• Production
• Stage
• Testing
• Dev

Другие факторы
• Время
• Устаревание
• ошибки
Мнемоник

Bot 1
KEY

Bot 2
Bot 3
Взаимодействие

API
TEST

mnemonic.getMessage("key").getForTest();
Что получилось
•
•
•

Фильтрация данных
Удобная работа с данными
+1 сервис и База Данных
•Регистрировать ботов
•Удалять ботов
•Контролировать состояние ботов
Как это работает

API
TEST
sk.getBot()
sk.deleteBot(bot)
Что получилось
•
•
•
•
•

Ускорение тестов
Профит при увеличении числа ботов
Запас ботов
Локальный запуск
+1 сервис
Что в итоге

Управляемость

Надежность
Удобство

Скорость

Возможности
Было
...
NODE1

NODE 2

NODE 3

NODE 4

NODE 5

HUB

NODE N
Стало
...
NODE1

NODE 2

NODE 3

NODE 4

NODE 5

HUB

NODE N
Все бесплатно!!!
http://www.eclipse.org/jetty/
DropWizard - http://dropwizard.codahale.com/
http://www.mongodb.org/
https://developers.google.com/speed/webp/
http://www.quartz-scheduler.org/
https://github.com/egorzamaraev/sample-jetty-service
Спасибо!!!

http://www.ok.ru/egorza
egor.zamaraev@odnoklassniki.ru

Contenu connexe

Tendances

Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрокаSQALab
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестированиеSPB SQA Group
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demandSQALab
 
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестированияЭкономически эффективный процесс тестирования
Экономически эффективный процесс тестированияCodeFest
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuousSQALab
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьIgor Khrol
 
Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?OdessaQA
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаSQALab
 
Экономически эффективный процесс тестирования (Codefest 2015)
Экономически эффективный процесс тестирования (Codefest 2015)Экономически эффективный процесс тестирования (Codefest 2015)
Экономически эффективный процесс тестирования (Codefest 2015)Andrei Solntsev
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь_itcampus
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиSQALab
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerSQALab
 
Автоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIАвтоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIPavel Asanov
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховИлья Кожухов
 

Tendances (20)

Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестированияЭкономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuous
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем суть
 
Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиента
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Экономически эффективный процесс тестирования (Codefest 2015)
Экономически эффективный процесс тестирования (Codefest 2015)Экономически эффективный процесс тестирования (Codefest 2015)
Экономически эффективный процесс тестирования (Codefest 2015)
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Continuousdelivery
ContinuousdeliveryContinuousdelivery
Continuousdelivery
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестами
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load Runner
 
Автоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST APIАвтоматизация функционального тестирования REST API
Автоматизация функционального тестирования REST API
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
 

Similaire à Micro services – surgical team in test automation with SeleniumSelenium microservices

Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Dmitry Samsonov
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
 
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ы
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ыSECON'2016. Стахиевич Андрей, Selenide: используем listener-ы
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ыSECON
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Igor Khrol
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?SQALab
 
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
 
Автоматизация тестирования: отбрасываем лишнее и проверяем суть
Автоматизация тестирования: отбрасываем лишнее и проверяем сутьАвтоматизация тестирования: отбрасываем лишнее и проверяем суть
Автоматизация тестирования: отбрасываем лишнее и проверяем сутьSQALab
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорьdrupalconf
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьPVasili
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017MATLAB
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовSQALab
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in pythonCOMAQA.BY
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 

Similaire à Micro services – surgical team in test automation with SeleniumSelenium microservices (20)

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ы
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ыSECON'2016. Стахиевич Андрей, Selenide: используем listener-ы
SECON'2016. Стахиевич Андрей, Selenide: используем listener-ы
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?
 
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
 
Автоматизация тестирования: отбрасываем лишнее и проверяем суть
Автоматизация тестирования: отбрасываем лишнее и проверяем сутьАвтоматизация тестирования: отбрасываем лишнее и проверяем суть
Автоматизация тестирования: отбрасываем лишнее и проверяем суть
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
 
Автоматизация тестирования
Автоматизация тестированияАвтоматизация тестирования
Автоматизация тестирования
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 

Micro services – surgical team in test automation with SeleniumSelenium microservices