global continues integration

Post on 15-Apr-2017

48 Views

Category:

Data & Analytics

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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-akmae

v-1306b986

top related