SlideShare a Scribd company logo
ОрганизацияОрганизация
автоматизированного тестированияавтоматизированного тестирования
в схеме непрерывной интеграциив схеме непрерывной интеграции
Кудинов Илья, Badoo Development
Не автоматизированное тестированиеНе автоматизированное тестирование
Автоматизированное тестированиеАвтоматизированное тестирование
Немного цифр:Немного цифр:
●
2 релиза в день
●
>40 задач в день
●
≈70 разработчиков
●
22 QA инженера
●
≈180 миллионов пользователей
●
600 тысяч пользователей онлайн
Этапы контроля качестваЭтапы контроля качества
1. ???
2. ???
3. ???
4. ???
5. ???
1. Code Review
2. ???
3. ???
4. ???
5. ???
Этапы контроля качестваЭтапы контроля качества
1. Code Review
2. Тестирование на девелоперском сервере
3. ???
4. ???
5. ???
Этапы контроля качестваЭтапы контроля качества
1. Code Review
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. ???
5. ???
Этапы контроля качестваЭтапы контроля качества
1. Code Review
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. ???
Этапы контроля качестваЭтапы контроля качества
1. Code Review
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
Скучно?Скучно?
Исправляем!Исправляем!
1. Code Review
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
Code ReviewCode Review
Коммит-хуки gitКоммит-хуки git
●
Корректность имени ветки
●
Проверка валидности кода (phpcf!)
●
Проверка прав на мерж
●
Обновление тикетов
●
… и многое другое, всего около 40
Code ReviewCode Review
1. Code Review
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
Автоматическое тестирование веткиАвтоматическое тестирование ветки
Многопоточная ПускалкаМногопоточная Пускалка
●
Сбор статистики по тестам
●
Оптимальное распределение по потокам
●
Красивый вывод в консоль
●
Формирование отчёта для TeamCity
●
17'000 юнит-тестов за 3-4 минуты!
●
Going OpenSource — stay tuned!
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
●
2 платформы — эмуляция продакшна
●
Собственная база данных
●
Свой sandbox для каждого девелопера
●
Общие для всех sandbox'ов демоны
Девелоперское окружениеДевелоперское окружение
Ручной запуск юнит-тестов иРучной запуск юнит-тестов и
интеграционных тестовинтеграционных тестов
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
3.5 Автоматическое тестирование релиза
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
Знакомьтесь: АидаЗнакомьтесь: Аида
Automated Interactive Deploy AssistantAutomated Interactive Deploy Assistant
●
Деплой задач на препродакшн
●
Automerge
●
Запуск автоматических тестов
●
Рассылка уведомлений (jira, mail, jabber...)
●
… и многое другое!
Автоматическое тестирование релизаАвтоматическое тестирование релиза
●
Smoke-тесты при мерже ветки
●
Юнит-тесты
●
Интеграционные тесты
●
Selenium-тесты
А если в новом релизе падают тесты?А если в новом релизе падают тесты?
Deploy DashboardDeploy Dashboard
●
Список текущих релизов
●
Список задач в каждом релизе
●
Список активных шотов
●
Патчи к текущему релизу!
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
3.5 Автоматическое тестирование релиза
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
Р Е Л И З !
1. Code Review
1.5 Автоматическое тестирование ветки
2. Тестирование на девелоперском сервере
3. Тестирование в шоте
3.5 Автоматическое тестирование релиза
4. Тестирование на препродакшене
5. Тестирование на продакшене
Этапы контроля качестваЭтапы контроля качества
badoo.com
vk.com/badoocom
fb.com/BadooMoscow
twitter.com/BadooDev
habrahabr.ru/company/badoo/
vk.com/relzeg
fb.com/relzeg

More Related Content

What's hot

Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
WrikeTechClub
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
Анастасия Асеева
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QAFest
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере BadooРИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Тарасов Константин
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Ontico
 
Владислав Чернов, Badoo
Владислав Чернов, BadooВладислав Чернов, Badoo
Владислав Чернов, Badoo
Ontico
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
CEE-SEC(R)
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
_itcampus
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
SQALab
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling eventViktoriya Pridatko
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
SQALab
 
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014it-people
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
SQALab
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
SQALab
 
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012ideaperm
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
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
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур Шевляков
CodeFest
 

What's hot (20)

Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере BadooРИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
Владислав Чернов, Badoo
Владислав Чернов, BadooВладислав Чернов, Badoo
Владислав Чернов, Badoo
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling event
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
 
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012
Дмитрий Чирков, "Технологический стартап", занятие 4, 28.03.2012
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
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...
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур Шевляков
 

Viewers also liked

Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибках
SQALab
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
SQALab
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
SQALab
 
Проект Роботестер
Проект РоботестерПроект Роботестер
Проект Роботестер
SQALab
 
Реалистичное нагрузочное тестирование
Реалистичное нагрузочное тестированиеРеалистичное нагрузочное тестирование
Реалистичное нагрузочное тестирование
SQALab
 
Способы повышения эффективности в работе тестировщика
Способы повышения эффективности в работе тестировщикаСпособы повышения эффективности в работе тестировщика
Способы повышения эффективности в работе тестировщика
SQALab
 
Риски. Философия и практические рекомендации
Риски. Философия и практические рекомендацииРиски. Философия и практические рекомендации
Риски. Философия и практические рекомендации
SQALab
 
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...SQALab
 
HtmlElements – естественное расширение PageObject
HtmlElements – естественное расширение PageObjectHtmlElements – естественное расширение PageObject
HtmlElements – естественное расширение PageObject
SQALab
 
Использование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестированияИспользование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестирования
SQALab
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектов
SQALab
 
Правила роста команды тестирования – мифы и реальность
Правила роста команды тестирования – мифы и реальностьПравила роста команды тестирования – мифы и реальность
Правила роста команды тестирования – мифы и реальность
SQALab
 
Битва при юзабилити
Битва при юзабилитиБитва при юзабилити
Битва при юзабилити
SQALab
 
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
SQALab
 
Будни тестирования Cassandr-ы
Будни тестирования Cassandr-ыБудни тестирования Cassandr-ы
Будни тестирования Cassandr-ы
SQALab
 
Простой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипедПростой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипед
SQALab
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестирования
SQALab
 
"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности
SQALab
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
SQALab
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
SQALab
 

Viewers also liked (20)

Грабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибкахГрабли автоматизации. Учимся на чужих ошибках
Грабли автоматизации. Учимся на чужих ошибках
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
Проект Роботестер
Проект РоботестерПроект Роботестер
Проект Роботестер
 
Реалистичное нагрузочное тестирование
Реалистичное нагрузочное тестированиеРеалистичное нагрузочное тестирование
Реалистичное нагрузочное тестирование
 
Способы повышения эффективности в работе тестировщика
Способы повышения эффективности в работе тестировщикаСпособы повышения эффективности в работе тестировщика
Способы повышения эффективности в работе тестировщика
 
Риски. Философия и практические рекомендации
Риски. Философия и практические рекомендацииРиски. Философия и практические рекомендации
Риски. Философия и практические рекомендации
 
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
 
HtmlElements – естественное расширение PageObject
HtmlElements – естественное расширение PageObjectHtmlElements – естественное расширение PageObject
HtmlElements – естественное расширение PageObject
 
Использование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестированияИспользование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестирования
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектов
 
Правила роста команды тестирования – мифы и реальность
Правила роста команды тестирования – мифы и реальностьПравила роста команды тестирования – мифы и реальность
Правила роста команды тестирования – мифы и реальность
 
Битва при юзабилити
Битва при юзабилитиБитва при юзабилити
Битва при юзабилити
 
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
Перестаньте спрашивать «КОГДА?» Или как перестать закапывать свои проекты в д...
 
Будни тестирования Cassandr-ы
Будни тестирования Cassandr-ыБудни тестирования Cassandr-ы
Будни тестирования Cassandr-ы
 
Простой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипедПростой взгляд на автоматизацию или Как не изобретать велосипед
Простой взгляд на автоматизацию или Как не изобретать велосипед
 
Серебряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестированияСеребряная пуля автоматизированного тестирования
Серебряная пуля автоматизированного тестирования
 
"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности"Внедрение автоматизации" прохождение на различных уровнях сложности
"Внедрение автоматизации" прохождение на различных уровнях сложности
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
 

Similar to Организация автоматического тестирования в схеме непрерывной интеграции

Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
CodeFest
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
WrikeTechClub
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
SQALab
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
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 testing
Alexandr Zinovyev
 
C&C for coffee'n'code
C&C for coffee'n'codeC&C for coffee'n'code
C&C for coffee'n'codeIvan Mosiev
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Александр Шамрай
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QAFest
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
SQALab
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
SQALab
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
Alexey Lustin
 
Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Эдуард Сухарев
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
Igor Lyubin
 
Контроль качетсва в компании iiko
Контроль качетсва в компании iikoКонтроль качетсва в компании iiko
Контроль качетсва в компании iikoAlexey Chumagin
 

Similar to Организация автоматического тестирования в схеме непрерывной интеграции (20)

Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
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
 
C&C for coffee'n'code
C&C for coffee'n'codeC&C for coffee'n'code
C&C for coffee'n'code
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Контроль качетсва в компании iiko
Контроль качетсва в компании iikoКонтроль качетсва в компании iiko
Контроль качетсва в компании iiko
 

More from 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 testing
SQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
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
 

More from 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 автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Организация автоматического тестирования в схеме непрерывной интеграции

  • 1. ОрганизацияОрганизация автоматизированного тестированияавтоматизированного тестирования в схеме непрерывной интеграциив схеме непрерывной интеграции Кудинов Илья, Badoo Development
  • 2. Не автоматизированное тестированиеНе автоматизированное тестирование
  • 4. Немного цифр:Немного цифр: ● 2 релиза в день ● >40 задач в день ● ≈70 разработчиков ● 22 QA инженера ● ≈180 миллионов пользователей ● 600 тысяч пользователей онлайн
  • 5. Этапы контроля качестваЭтапы контроля качества 1. ??? 2. ??? 3. ??? 4. ??? 5. ???
  • 6. 1. Code Review 2. ??? 3. ??? 4. ??? 5. ??? Этапы контроля качестваЭтапы контроля качества
  • 7. 1. Code Review 2. Тестирование на девелоперском сервере 3. ??? 4. ??? 5. ??? Этапы контроля качестваЭтапы контроля качества
  • 8. 1. Code Review 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. ??? 5. ??? Этапы контроля качестваЭтапы контроля качества
  • 9. 1. Code Review 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. ??? Этапы контроля качестваЭтапы контроля качества
  • 10. 1. Code Review 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 12.
  • 13.
  • 14. 1. Code Review 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 16. Коммит-хуки gitКоммит-хуки git ● Корректность имени ветки ● Проверка валидности кода (phpcf!) ● Проверка прав на мерж ● Обновление тикетов ● … и многое другое, всего около 40
  • 18. 1. Code Review 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 19. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 21. Многопоточная ПускалкаМногопоточная Пускалка ● Сбор статистики по тестам ● Оптимальное распределение по потокам ● Красивый вывод в консоль ● Формирование отчёта для TeamCity ● 17'000 юнит-тестов за 3-4 минуты! ● Going OpenSource — stay tuned!
  • 22. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 23. ● 2 платформы — эмуляция продакшна ● Собственная база данных ● Свой sandbox для каждого девелопера ● Общие для всех sandbox'ов демоны Девелоперское окружениеДевелоперское окружение
  • 24. Ручной запуск юнит-тестов иРучной запуск юнит-тестов и интеграционных тестовинтеграционных тестов
  • 25. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 26. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 27. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 3.5 Автоматическое тестирование релиза 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 29. Automated Interactive Deploy AssistantAutomated Interactive Deploy Assistant ● Деплой задач на препродакшн ● Automerge ● Запуск автоматических тестов ● Рассылка уведомлений (jira, mail, jabber...) ● … и многое другое!
  • 30. Автоматическое тестирование релизаАвтоматическое тестирование релиза ● Smoke-тесты при мерже ветки ● Юнит-тесты ● Интеграционные тесты ● Selenium-тесты
  • 31. А если в новом релизе падают тесты?А если в новом релизе падают тесты?
  • 32. Deploy DashboardDeploy Dashboard ● Список текущих релизов ● Список задач в каждом релизе ● Список активных шотов ● Патчи к текущему релизу!
  • 33. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 3.5 Автоматическое тестирование релиза 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества
  • 34. Р Е Л И З !
  • 35. 1. Code Review 1.5 Автоматическое тестирование ветки 2. Тестирование на девелоперском сервере 3. Тестирование в шоте 3.5 Автоматическое тестирование релиза 4. Тестирование на препродакшене 5. Тестирование на продакшене Этапы контроля качестваЭтапы контроля качества