Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестирования в схеме Continious Integration".

33 %
67 %
Information about Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного...
Technology

Published on June 17, 2013

Author: BadooDev

Source: slideshare.net

Description

Доклад о том, как выжить в условиях двух релизов в день, не понижая планку
качества проекта и дать разработчикам и QA-инженерам больше времени на
полезные дела.

Подробно:
Прослушав доклад, вы узнаете:
1. Что НА САМОМ ДЕЛЕ называется непрерывной интеграцией;
2. Кому и зачем нужно переходить на Continious Integration;
3. Почему процесс контроля качества начинается ещё до написания кода;
4. Как программисты учавствуют в процессе тестирования;
5. Как устроен наш поток тестирования с пятью (!) уровнями контроля;
6. Как наши QA-инженеры тестируют задачи до релиза в максимально
реалистичных условиях;
7. Как помогает тестированию плотная интеграция Git, Jira и TeamCity;
8. Зачем нужны более 20 тысяч автоматических тестов и кто их должен
разрабатывать и поддерживать;
9. Чем непрерывно занимаются более 10 агентов-тестировщиков в нашей
TeamCity;
10. Какими средствами мы добились того, чтобы пункты 8 и 9 не превращал
QA-процесс в долгое и унылое действо.

ОрганизацияОрганизацияавтоматизированного тестированияавтоматизированного тестированияв схеме Continious Integrationв схеме Continious IntegrationКудинов Илья, QA Engineer,Badoo Development

Зачем нам это всё нужно?Зачем нам это всё нужно?- Максимально быстрый релиз новых фич;- Скорейшее реагирование на ошибки;- Очень большой поток задач – маленькимипорциями с ними справляться гораздо проще;- Разработчики и менеджеры видят результатсвоей работы практически сразу;

Немного цифр:Немного цифр:●2 релиза в день●>40 задач в день●≈70 разработчиков●≈20 QA инженеров●≈180 миллионов пользователей●≈750 тысяч пользователей онлайн в среднем●≈1.2 миллиона пользователей онлайн в пике

Нам нужен крутой и мощный flowНам нужен крутой и мощный flowконтроля качества!контроля качества!- Тестирование не должно затягиваться;- Как можно больше кейсов;- Проверка как задач по отдельности, так ирелиза в целом;- Минимизация “человеческого фактора” притестировании и деплое;

Без автоматизированногоБез автоматизированноготестированиятестирования

С автоматизированнымС автоматизированнымтестированиемтестированием

ТеорияТеория..Сухой и лаконичный флоу.

Этапы контроля качестваЭтапы контроля качества1. ???2. ???3. ???4. ???5. ???

1. Code Review2. ???3. ???4. ???5. ???Этапы контроля качестваЭтапы контроля качества

1. Code Review2. Тестирование на девелоперском сервере3. ???4. ???5. ???Этапы контроля качестваЭтапы контроля качества

1. Code Review2. Тестирование на девелоперском сервере3. Тестирование в шоте4. ???5. ???Этапы контроля качестваЭтапы контроля качества

1. Code Review2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. ???Этапы контроля качестваЭтапы контроля качества

1. Code Review2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Скучно?Скучно?Исправляем!Исправляем!

Постулаты:Постулаты:- Задачи делаем максимально атомарными;- Любую большую задачу разбиваем наотдельные части;- Каждой задаче – свой тикет в Jira;- Каждой задаче – своя ветка в Git;

1. Code Review2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Коммит-хуки gitКоммит-хуки git●Корректность имени ветки●Проверка валидности кода (phpcf!)●Проверка прав на мерж●Обновление тикетов●… и многое другое, всего около 40

Code ReviewCode Review

Code ReviewCode Review

1. Code Review2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Автоматическое тестированиеАвтоматическое тестированиеветкиветки

Многопоточная ПускалкаМногопоточная Пускалка●Сбор статистики по тестам●Оптимальное распределение по потокам●Красивый вывод в консоль●Формирование отчёта для TeamCity●18 000 юнит-тестов за 3-4 минуты!●Going OpenSource — stay tuned!http://habrahabr.ru/post/181488/

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

●2 платформы — эмуляция продакшна●Собственная база данных●Свой sandbox для каждого девелопера●Общие для всех sandboxов демоныДевелоперское окружениеДевелоперское окружение

Ручной запуск юнит-тестов иРучной запуск юнит-тестов иинтеграционных тестовинтеграционных тестов

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте3.5. Автоматическое тестирование релиза4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Знакомьтесь: АидаЗнакомьтесь: Аида

Automated Interactive DeployAutomated Interactive DeployAssistantAssistant●Деплой задач на препродакшн●Automerge●Запуск автоматических тестов●Рассылка уведомлений (jira, mail, jabber...)●… и многое другое!http://habrahabr.ru/post/169417/

Автоматическое тестированиеАвтоматическое тестированиерелизарелиза●Smoke-тесты при мерже ветки●Юнит-тесты●Интеграционные тесты●Selenium-тесты

Code CoverageCode Coverage- Благодаря нашим оптимизациям, теперьсчитается за 2 часа, а не за 40;- Высокий CC всего нового кода (задача безюнит-тестов не пройдёт QA);- Постепенно повышаемый CC легаси-кода;

А если в новом релизе падаютА если в новом релизе падаюттесты?тесты?

Deploy DashboardDeploy Dashboard●Список текущих релизов●Список задач в каждом релизе●Список активных шотов●Патчи к текущему релизу!

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте3.5. Автоматическое тестирование релиза4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Р Е Л И З !

1. Code Review1.5. Автоматическое тестирование ветки2. Тестирование на девелоперском сервере3. Тестирование в шоте3.5. Автоматическое тестирование релиза4. Тестирование на препродакшене5. Тестирование на продакшенеЭтапы контроля качестваЭтапы контроля качества

Постоянный мониторингПостоянный мониторинг- Логи ошибок со всех серверов;- Всевозможная статистика;- Сотни графиков разной степени полезности(от обычной до чрезвычайной!);- Умный и натренированный отделмониторинга;

Итог:Итог:- До 70% задач попадают на продакшн в деньвыполнения;- Практически исключено попаданиенекачественного кода на продакшн;- Любые просочившиеся ошибки очень быстролокализуются и устраняются;- QA инженеры довольны и (по большей части)спокойны.

badoo.comvk.com/badoocomfb.com/BadooMoscowtwitter.com/BadooDevhabrahabr.ru/company/badoo/vk.com/relzegfb.com/relzeg

Add a comment

Related presentations

Related pages

Доклад на Software People 2013 - Documents

Download Доклад на Software People 2013. ... доклад на РИФ-2012, ... Доклад Ильи Кудинова на DevConf 2013.
Read more

Архитектура в web, доклад на Women techmakers, Omsk, 2014 ...

Доклад Ильи Кудинова на ... Панова на конференции DevConf ... Олега Оямяэ на РИТ++ 2013.
Read more

Организация времени в тестировании - Education

Доклад Андрея Ладутько на ... Доклад Андрея Ладутько на конференции SQADays ...
Read more

Организация процесса тестирования в Agile команде с ...

×Close Share Организация процесса тестирования в Agile команде с помощью матрицы ...
Read more

Речь в прениях адвоката М. Трепашкина в защиту Ильи ...

М. В. Чекулаев "Риск Менеджмент" - Глава 2.НЕОБХОДИМЫЕ СВЕДЕНИЯ. Доклад Ильи Кудинова ...
Read more