W AY 4 Quality Control in Continuous Integration Konstantin Zhukov.

Презентация:



Advertisements
Похожие презентации
Continuous Integration с нуля (Jenkins+Git+Selenium)
Advertisements

4 Философия качества на следующих базовых постулатах: 1.Мы не можем снизить расходы без воздействия на качество; 2.Мы можем повысить качество, не увеличивая.
Введение в непрерывную интеграцию Руденко Виктория Сообщество Тестировщиков Днепропетровска 26/05/2011 Ardas Group.
Обязательные практики Agile и правило 3-х П. Павел Габриель agile-практик, программист, руководитель ООО Смарт системз.
Опыт внедрения информационной системы класса ERP на примере программных пакетов SAP. / Experience of implementation ERP class of the system w/ example.
Автоматизация тестирования. План 1.Применение автоматизированного тестирования 2.Выбор инструментария 3.Процесс автоматизации (IBM Rational) GUI тестирование.
Организация тестового набора при автоматизированном функциональном тестировании Мария Колчинская. Xored Software.
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Организация процесса тестирования ПО Петренко Ольга QA Team Leader.
Технологии конструирования программного обеспечения.
«Единая интеграционная шина данных, как ядро информационной системы» Программный продукт, разработан на базе платформы«1 С: Предприятие 8». Продукт позволяет.
Тестирование веб-проектов в Agile Асхат Уразбаев, ScrumTrek.
Калугин Александр, PhD, PMP Mercury Development Project Director.
Технологии конструирования программного обеспечения.
Thank you for your attention!
Разработка Open Source проекта на примере OpenVZ Web Panel Алексей Южаков.
SQL 2012 И ГИБКИЕ МЕТОДЫ КОМАНДНОЙ РАЗРАБОТКИ C TFS Добро пожаловать в команду! Alexander Yakovlev
РАСПРОСТРАНЕННЫЕ ОШИБКИ В ИДЕОЛОГИИ, ПЛАНИРОВАНИИ И ПРОВЕДЕНИИ ТЕСТИРОВАНИЯ 2.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 8. Методология Microsoft Solutions Framework.
Онлайн система учета времени персонала.
Транксрипт:

W AY 4 Quality Control in Continuous Integration Konstantin Zhukov

Программа Что такое Continuous Integration? Риски процесса разработки От «Continuous Integration» к «Build Pipeline» Quality Control Практические моменты реализации

Что такое Continuous Integration? «Process of applying quality control during development» (с)wikipedia Стратегия разработки, связанная с регулярной интеграцией, проводимой в автоматическом режиме

Производство программных продуктов – рискованное дело

Риск 1: Поздняя интеграция стоит дорого Атомарные изменения Интегрируемся чаще!

Риск 2: Отсутствие регулярных сборок Продукт работает только локально Локально всё работает! Завтра приедет босс, показывать нечего! Процесс непрозрачен Какой сейчас статус проекта? Что мы такого сделали в версии 1.0.1?

Интеграция необходима Хотелось бы иметь что-то вроде Что дальше?

От «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

Build Pipeline: Как это организовать? Специальные инструменты для поддержки процесса … cегодня про это не говорим

Build Pipeline: Quality Control Сконцентрируемся на QC Какие для этого предпосылки? К фазе QC доступны все необходимые артефакты (binaries) Билд готов к тестированию! Как его организовать? Есть проблемы и есть решения

Проблема 1: Слишком много продуктов Много продуктов -> cлишком большая энтропия Все продукты разные -> разные инструменты Нужны: Правила организации тестов Единая система управления разнородными тестами

Решение 1: Слишком много продуктов Основные шаги – общие для всех Идём от алгоритма Что нужно? Собрать конфигурацию приложения (build) Запустить конфигурацию (deploy + start) Запустить тесты (test) Собрать отчёт (collect logs) Остановить конфигурацию (stop + undeploy) Отделяем управление от реализации

Система управления тестами: Алгоритм Вся специфика тестируемых приложений спрятана в специальном handler-е

Система управления тестами: Последовательность тестов Основа – файловое дерево Алгоритм обхода – итерирование на одном уровне Простота!

Система управления тестами: Мониторинг Единая WEB консоль CI сервера

Build Pipeline: Бесплатное приложение Ручной redeploy дорог Можно ли его автоматизировать? Можно Меняем местами шаги start stop Создаём технический сценарий без тестов В итоге: Приложение всегда up-to-date и готово к тестированию … и к показу боссу

Проблема 2: Продукт слишком сложен Продукт слишком сложный, но нужны интеграционные тесты Разбираем его на части, сохраняя общую структуру, Собираем каждый компонент в режиме redeploy Запускаем интеграционные тесты из общей точки входа

Итоги Что мы добились Разрешение всех рисков Покрытие всех продуктов компании + Помощь в ручном тестировании С небольшими недостатками Поддержка непростой инфраструктуры Необходимость отдельных серверов Зачем тестировать самому, если CI всё проверит сам?

Thanks Thank you!