Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 13 лет назад пользователемVLDCORP
1 W AY 4 Quality Control in Continuous Integration Konstantin Zhukov
2 Программа Что такое Continuous Integration? Риски процесса разработки От «Continuous Integration» к «Build Pipeline» Quality Control Практические моменты реализации
3 Что такое Continuous Integration? «Process of applying quality control during development» (с)wikipedia Стратегия разработки, связанная с регулярной интеграцией, проводимой в автоматическом режиме
4 Производство программных продуктов – рискованное дело
5 Риск 1: Поздняя интеграция стоит дорого Атомарные изменения Интегрируемся чаще!
6 Риск 2: Отсутствие регулярных сборок Продукт работает только локально Локально всё работает! Завтра приедет босс, показывать нечего! Процесс непрозрачен Какой сейчас статус проекта? Что мы такого сделали в версии 1.0.1?
7 Интеграция необходима Хотелось бы иметь что-то вроде Что дальше?
8 От «Continuous Integration» к «Build Pipeline» «Automated manifestation of your process for getting software from version control into the hands of your users» Continuous Integration flow Build Pipeline flow
9 Build Pipeline: Как это организовать? Специальные инструменты для поддержки процесса … cегодня про это не говорим
10 Build Pipeline: Quality Control Сконцентрируемся на QC Какие для этого предпосылки? К фазе QC доступны все необходимые артефакты (binaries) Билд готов к тестированию! Как его организовать? Есть проблемы и есть решения
11 Проблема 1: Слишком много продуктов Много продуктов -> cлишком большая энтропия Все продукты разные -> разные инструменты Нужны: Правила организации тестов Единая система управления разнородными тестами
12 Решение 1: Слишком много продуктов Основные шаги – общие для всех Идём от алгоритма Что нужно? Собрать конфигурацию приложения (build) Запустить конфигурацию (deploy + start) Запустить тесты (test) Собрать отчёт (collect logs) Остановить конфигурацию (stop + undeploy) Отделяем управление от реализации
13 Система управления тестами: Алгоритм Вся специфика тестируемых приложений спрятана в специальном handler-е
14 Система управления тестами: Последовательность тестов Основа – файловое дерево Алгоритм обхода – итерирование на одном уровне Простота!
15 Система управления тестами: Мониторинг Единая WEB консоль CI сервера
16 Build Pipeline: Бесплатное приложение Ручной redeploy дорог Можно ли его автоматизировать? Можно Меняем местами шаги start stop Создаём технический сценарий без тестов В итоге: Приложение всегда up-to-date и готово к тестированию … и к показу боссу
17 Проблема 2: Продукт слишком сложен Продукт слишком сложный, но нужны интеграционные тесты Разбираем его на части, сохраняя общую структуру, Собираем каждый компонент в режиме redeploy Запускаем интеграционные тесты из общей точки входа
18 Итоги Что мы добились Разрешение всех рисков Покрытие всех продуктов компании + Помощь в ручном тестировании С небольшими недостатками Поддержка непростой инфраструктуры Необходимость отдельных серверов Зачем тестировать самому, если CI всё проверит сам?
19 Thanks Thank you!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.