SlideShare a Scribd company logo
1 of 24
1 | © 2016 RingCentral, Inc. All rights reserved.
Global CI, что это, или что не
так в классическом CI
Акмаев Дмитрий.
Санкт-Петербург. DINS
2 | © 2016 RingCentral, Inc. All rights reserved.
О себе
►Акмаев Дмитрий
►Lead QA Automation в DINS
• до этого Quest Software (DELL), I-FREE
►12 лет в тестировании
►Управляю проектом Global CI
3 | © 2016 RingCentral, Inc. All rights reserved.
Определение CI
4 | © 2016 RingCentral, Inc. All rights reserved.
Определение CI
►Что это такое
►Какие проблемы решает
►В каких случаях не работает
5 | © 2016 RingCentral, Inc. All rights reserved.
Предыстория
6 | © 2016 RingCentral, Inc. All rights reserved.
Предыстория
►Огромная связанная система (более 170
компонентов)
►Наличие Legacy кода
►Единовременная разработка в 4 странах
►Сложная интеграция
7 | © 2016 RingCentral, Inc. All rights reserved.
Проблемы тестирования
8 | © 2016 RingCentral, Inc. All rights reserved.
Проблемы тестирования
►Полная тестовая инфраструра слишком громоздка
►Обновление занимает продолжительное время
►Автотесты используют различные подходы и языки
программирования
►Дублирование проверок разными командами
►Команды под проект
9 | © 2016 RingCentral, Inc. All rights reserved.
Появление GCI
10 | © 2016 RingCentral, Inc. All rights reserved.
Что такое GCI
►Интеграционный CI
►Тестовое окружение
максимально близкое к PRO
►Полное собрание автотестов
►Индикатор стабильности
транка
11 | © 2016 RingCentral, Inc. All rights reserved.
Процесс передачи проекта
►Законченный проект
• Протестирован
• Нет критичных багов
►Передача автотестов
• Не должны мешать другим
• Не менять окружение
• Не дольше 10 часов
►Указываются изменяемые
компоненты
12 | © 2016 RingCentral, Inc. All rights reserved.
Проблемы GCI и их решения
13 | © 2016 RingCentral, Inc. All rights reserved.
Снежная лавина
►Переработка тестовой базы
►Приоритезация
►Code Coverage
14 | © 2016 RingCentral, Inc. All rights reserved.
Время выполнения
►Паралельный запуск
►Увеличение ресурсов
►Анализ тестов на таймауты
15 | © 2016 RingCentral, Inc. All rights reserved.
Сбор статистики
►Запись результатов в базу
16 | © 2016 RingCentral, Inc. All rights reserved.
Поддержка
►Выделенные люди
►Унификация тестов
►Cокращение фреймворков
17 | © 2016 RingCentral, Inc. All rights reserved.
Анализ результатов
►Пометка известных падений
►Получение разницы между
прогонами
►Разовый перепрогон упавших
тестов
18 | © 2016 RingCentral, Inc. All rights reserved.
Тесты меняющие окружение
►Просить так не делать
►Заглушки
►Аккаунт генератор
19 | © 2016 RingCentral, Inc. All rights reserved.
Это не я сломал
►Контроль изменений
►Расписание мерджей
►Ручное обновление окружения
20 | © 2016 RingCentral, Inc. All rights reserved.
Перекладывание задач Local CI на GCI
►Требовать результаты
локального CI
►Быть жесче с багами,
пропущенными в local CI
21 | © 2016 RingCentral, Inc. All rights reserved.
Заключение
22 | © 2016 RingCentral, Inc. All rights reserved.
Заключение
►GCI не заменяет локальные CI
►Требует дополнительные ресурсы
►Помогает находить сложные интеграционные
проблемы
►Сокращает регрессию
23 | © 2016 RingCentral, Inc. All rights reserved.
Спасибо
24 | © 2016 RingCentral, Inc. All rights reserved.
Контакты
►dakmaev@gmail.com
►https://vk.com/akmaev
►https://www.facebook.com/dmitry.akmaev
►https://www.linkedin.com/in/dmitry-
akmaev-1306b986

More Related Content

Viewers also liked

Viewers also liked (9)

Barras paul ppp
Barras paul pppBarras paul ppp
Barras paul ppp
 
Plymouth
PlymouthPlymouth
Plymouth
 
Paington
PaingtonPaington
Paington
 
Italian dictionary
Italian dictionaryItalian dictionary
Italian dictionary
 
Bachelor Thesis Vincent Coon
Bachelor Thesis Vincent Coon Bachelor Thesis Vincent Coon
Bachelor Thesis Vincent Coon
 
Arca lavagem ecologica
Arca lavagem ecologicaArca lavagem ecologica
Arca lavagem ecologica
 
MARACAS
MARACASMARACAS
MARACAS
 
Untitled
UntitledUntitled
Untitled
 
How to use React.js
How to use React.jsHow to use React.js
How to use React.js
 

Similar to Global Continues Integration

Управление хаосом, или как жить когда число тестов перевалило за десятки тысяч
Управление хаосом, или как жить когда число тестов перевалило за десятки тысячУправление хаосом, или как жить когда число тестов перевалило за десятки тысяч
Управление хаосом, или как жить когда число тестов перевалило за десятки тысячSQALab
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Ontico
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Tanya Denisyuk
 
Implement your own profiler with blackjack and fun
Implement your own profiler with blackjack and funImplement your own profiler with blackjack and fun
Implement your own profiler with blackjack and funVladimir Sitnikov
 
Применение практики бережливого производства в недвижимости
Применение практики бережливого производства в недвижимостиПрименение практики бережливого производства в недвижимости
Применение практики бережливого производства в недвижимостиNAIBecar
 
Павел Прищепа - Drupal хостинг полного цикла
Павел Прищепа - Drupal хостинг полного циклаПавел Прищепа - Drupal хостинг полного цикла
Павел Прищепа - Drupal хостинг полного циклаDrupalSPB
 
Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Elizaveta Fateeva
 
Зачем нужен Flash?
Зачем нужен Flash?Зачем нужен Flash?
Зачем нужен Flash?Cisco Russia
 
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...Ontico
 
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...Игорь Мызгин
 
Идеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileИдеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileCodeFest
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
 
Организация тестирования в Inostudio
Организация тестирования в InostudioОрганизация тестирования в Inostudio
Организация тестирования в InostudioIT61
 
Paper 67 (supplementary file) sqadays 2010-burmistrov_fomin_3011
Paper 67 (supplementary file)   sqadays 2010-burmistrov_fomin_3011Paper 67 (supplementary file)   sqadays 2010-burmistrov_fomin_3011
Paper 67 (supplementary file) sqadays 2010-burmistrov_fomin_3011Alexei Lupan
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
 
Drupal camp аутсорс услуг тестирования - реальность или вымысел-
Drupal camp  аутсорс услуг тестирования - реальность или вымысел-Drupal camp  аутсорс услуг тестирования - реальность или вымысел-
Drupal camp аутсорс услуг тестирования - реальность или вымысел-Konstantin Osipenko
 
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?DrupalSib
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примереSergey Xek
 
Aппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средAппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средYury Novozhilov
 

Similar to Global Continues Integration (20)

Управление хаосом, или как жить когда число тестов перевалило за десятки тысяч
Управление хаосом, или как жить когда число тестов перевалило за десятки тысячУправление хаосом, или как жить когда число тестов перевалило за десятки тысяч
Управление хаосом, или как жить когда число тестов перевалило за десятки тысяч
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
 
Implement your own profiler with blackjack and fun
Implement your own profiler with blackjack and funImplement your own profiler with blackjack and fun
Implement your own profiler with blackjack and fun
 
Применение практики бережливого производства в недвижимости
Применение практики бережливого производства в недвижимостиПрименение практики бережливого производства в недвижимости
Применение практики бережливого производства в недвижимости
 
Павел Прищепа - Drupal хостинг полного цикла
Павел Прищепа - Drupal хостинг полного циклаПавел Прищепа - Drupal хостинг полного цикла
Павел Прищепа - Drupal хостинг полного цикла
 
Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?
 
Зачем нужен Flash?
Зачем нужен Flash?Зачем нужен Flash?
Зачем нужен Flash?
 
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...
Опыт совместной работы хостера (Webzilla) и клиента (CityADS) над достижением...
 
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
 
Идеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileИдеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до Agile
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Организация тестирования в Inostudio
Организация тестирования в InostudioОрганизация тестирования в Inostudio
Организация тестирования в Inostudio
 
Paper 67 (supplementary file) sqadays 2010-burmistrov_fomin_3011
Paper 67 (supplementary file)   sqadays 2010-burmistrov_fomin_3011Paper 67 (supplementary file)   sqadays 2010-burmistrov_fomin_3011
Paper 67 (supplementary file) sqadays 2010-burmistrov_fomin_3011
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
 
Drupal camp аутсорс услуг тестирования - реальность или вымысел-
Drupal camp  аутсорс услуг тестирования - реальность или вымысел-Drupal camp  аутсорс услуг тестирования - реальность или вымысел-
Drupal camp аутсорс услуг тестирования - реальность или вымысел-
 
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
Aппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средAппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих сред
 

Global Continues Integration

  • 1. 1 | © 2016 RingCentral, Inc. All rights reserved. Global CI, что это, или что не так в классическом CI Акмаев Дмитрий. Санкт-Петербург. DINS
  • 2. 2 | © 2016 RingCentral, Inc. All rights reserved. О себе ►Акмаев Дмитрий ►Lead QA Automation в DINS • до этого Quest Software (DELL), I-FREE ►12 лет в тестировании ►Управляю проектом Global CI
  • 3. 3 | © 2016 RingCentral, Inc. All rights reserved. Определение CI
  • 4. 4 | © 2016 RingCentral, Inc. All rights reserved. Определение CI ►Что это такое ►Какие проблемы решает ►В каких случаях не работает
  • 5. 5 | © 2016 RingCentral, Inc. All rights reserved. Предыстория
  • 6. 6 | © 2016 RingCentral, Inc. All rights reserved. Предыстория ►Огромная связанная система (более 170 компонентов) ►Наличие Legacy кода ►Единовременная разработка в 4 странах ►Сложная интеграция
  • 7. 7 | © 2016 RingCentral, Inc. All rights reserved. Проблемы тестирования
  • 8. 8 | © 2016 RingCentral, Inc. All rights reserved. Проблемы тестирования ►Полная тестовая инфраструра слишком громоздка ►Обновление занимает продолжительное время ►Автотесты используют различные подходы и языки программирования ►Дублирование проверок разными командами ►Команды под проект
  • 9. 9 | © 2016 RingCentral, Inc. All rights reserved. Появление GCI
  • 10. 10 | © 2016 RingCentral, Inc. All rights reserved. Что такое GCI ►Интеграционный CI ►Тестовое окружение максимально близкое к PRO ►Полное собрание автотестов ►Индикатор стабильности транка
  • 11. 11 | © 2016 RingCentral, Inc. All rights reserved. Процесс передачи проекта ►Законченный проект • Протестирован • Нет критичных багов ►Передача автотестов • Не должны мешать другим • Не менять окружение • Не дольше 10 часов ►Указываются изменяемые компоненты
  • 12. 12 | © 2016 RingCentral, Inc. All rights reserved. Проблемы GCI и их решения
  • 13. 13 | © 2016 RingCentral, Inc. All rights reserved. Снежная лавина ►Переработка тестовой базы ►Приоритезация ►Code Coverage
  • 14. 14 | © 2016 RingCentral, Inc. All rights reserved. Время выполнения ►Паралельный запуск ►Увеличение ресурсов ►Анализ тестов на таймауты
  • 15. 15 | © 2016 RingCentral, Inc. All rights reserved. Сбор статистики ►Запись результатов в базу
  • 16. 16 | © 2016 RingCentral, Inc. All rights reserved. Поддержка ►Выделенные люди ►Унификация тестов ►Cокращение фреймворков
  • 17. 17 | © 2016 RingCentral, Inc. All rights reserved. Анализ результатов ►Пометка известных падений ►Получение разницы между прогонами ►Разовый перепрогон упавших тестов
  • 18. 18 | © 2016 RingCentral, Inc. All rights reserved. Тесты меняющие окружение ►Просить так не делать ►Заглушки ►Аккаунт генератор
  • 19. 19 | © 2016 RingCentral, Inc. All rights reserved. Это не я сломал ►Контроль изменений ►Расписание мерджей ►Ручное обновление окружения
  • 20. 20 | © 2016 RingCentral, Inc. All rights reserved. Перекладывание задач Local CI на GCI ►Требовать результаты локального CI ►Быть жесче с багами, пропущенными в local CI
  • 21. 21 | © 2016 RingCentral, Inc. All rights reserved. Заключение
  • 22. 22 | © 2016 RingCentral, Inc. All rights reserved. Заключение ►GCI не заменяет локальные CI ►Требует дополнительные ресурсы ►Помогает находить сложные интеграционные проблемы ►Сокращает регрессию
  • 23. 23 | © 2016 RingCentral, Inc. All rights reserved. Спасибо
  • 24. 24 | © 2016 RingCentral, Inc. All rights reserved. Контакты ►dakmaev@gmail.com ►https://vk.com/akmaev ►https://www.facebook.com/dmitry.akmaev ►https://www.linkedin.com/in/dmitry- akmaev-1306b986

Editor's Notes

  1. Частые автоматические сборки, тесты, получение информации Какие проблемы решает Дает информацию о состоянии исходников Сразу знаем, кто виноват В каких случаях не работает Большое количество разработчиков на едином репозитории, путаница и ломание друг другу Долгие тесты Сильно связанная система, нужны заглушки на все, теряется интеграционное тестирование