24
1 | © 2016 RingCentral, Inc. All rights reserved. Global CI, что это, или что не так в классическом CI Акмаев Дмитрий. Санкт-Петербург. DINS

Global Continues Integration

Embed Size (px)

Citation preview

Page 1: Global Continues Integration

1 | © 2016 RingCentral, Inc. All rights reserved.

Global CI, что это, или что не так в классическом CIАкмаев Дмитрий. Санкт-Петербург. DINS

Page 2: Global Continues Integration

2 | © 2016 RingCentral, Inc. All rights reserved.

О себе

► Акмаев Дмитрий► Lead QA Automation в DINS

• до этого Quest Software (DELL), I-FREE► 12 лет в тестировании► Управляю проектом Global CI

Page 3: Global Continues Integration

3 | © 2016 RingCentral, Inc. All rights reserved.

Определение CI

Page 4: Global Continues Integration

4 | © 2016 RingCentral, Inc. All rights reserved.

Определение CI

► Что это такое► Какие проблемы решает► В каких случаях не работает

Page 5: Global Continues Integration

5 | © 2016 RingCentral, Inc. All rights reserved.

Предыстория

Page 6: Global Continues Integration

6 | © 2016 RingCentral, Inc. All rights reserved.

Предыстория

► Огромная связанная система (более 170 компонентов)

► Наличие Legacy кода► Единовременная разработка в 4 странах► Сложная интеграция

Page 7: Global Continues Integration

7 | © 2016 RingCentral, Inc. All rights reserved.

Проблемы тестирования

Page 8: Global Continues Integration

8 | © 2016 RingCentral, Inc. All rights reserved.

Проблемы тестирования

► Полная тестовая инфраструра слишком громоздка► Обновление занимает продолжительное время► Автотесты используют различные подходы и языки

программирования► Дублирование проверок разными командами► Команды под проект

Page 9: Global Continues Integration

9 | © 2016 RingCentral, Inc. All rights reserved.

Появление GCI

Page 10: Global Continues Integration

10 | © 2016 RingCentral, Inc. All rights reserved.

Что такое GCI

► Интеграционный CI► Тестовое окружение

максимально близкое к PRO► Полное собрание автотестов► Индикатор стабильности

транка

Page 11: Global Continues Integration

11 | © 2016 RingCentral, Inc. All rights reserved.

Процесс передачи проекта

► Законченный проект• Протестирован• Нет критичных багов

► Передача автотестов• Не должны мешать другим• Не менять окружение• Не дольше 10 часов

► Указываются изменяемые компоненты

Page 12: Global Continues Integration

12 | © 2016 RingCentral, Inc. All rights reserved.

Проблемы GCI и их решения

Page 13: Global Continues Integration

13 | © 2016 RingCentral, Inc. All rights reserved.

Снежная лавина

► Переработка тестовой базы► Приоритезация► Code Coverage

Page 14: Global Continues Integration

14 | © 2016 RingCentral, Inc. All rights reserved.

Время выполнения

► Паралельный запуск► Увеличение ресурсов► Анализ тестов на таймауты

Page 15: Global Continues Integration

15 | © 2016 RingCentral, Inc. All rights reserved.

Сбор статистики

► Запись результатов в базу

Page 16: Global Continues Integration

16 | © 2016 RingCentral, Inc. All rights reserved.

Поддержка

► Выделенные люди► Унификация тестов► Cокращение фреймворков

Page 17: Global Continues Integration

17 | © 2016 RingCentral, Inc. All rights reserved.

Анализ результатов

► Пометка известных падений► Получение разницы между

прогонами► Разовый перепрогон упавших

тестов

Page 18: Global Continues Integration

18 | © 2016 RingCentral, Inc. All rights reserved.

Тесты меняющие окружение

► Просить так не делать► Заглушки► Аккаунт генератор

Page 19: Global Continues Integration

19 | © 2016 RingCentral, Inc. All rights reserved.

Это не я сломал

► Контроль изменений► Расписание мерджей► Ручное обновление окружения

Page 20: Global Continues Integration

20 | © 2016 RingCentral, Inc. All rights reserved.

Перекладывание задач Local CI на GCI

► Требовать результаты локального CI

► Быть жесче с багами, пропущенными в local CI

Page 21: Global Continues Integration

21 | © 2016 RingCentral, Inc. All rights reserved.

Заключение

Page 22: Global Continues Integration

22 | © 2016 RingCentral, Inc. All rights reserved.

Заключение

► GCI не заменяет локальные CI► Требует дополнительные ресурсы► Помогает находить сложные интеграционные

проблемы► Сокращает регрессию

Page 23: Global Continues Integration

23 | © 2016 RingCentral, Inc. All rights reserved.

Спасибо

Page 24: Global Continues Integration

24 | © 2016 RingCentral, Inc. All rights reserved.

Контакты

[email protected]► https://vk.com/akmaev► https://www.facebook.com/dmitry.akmaev► https://www.linkedin.com/in/dmitry-akmae

v-1306b986