oksana kharchuk - daily releases
TRANSCRIPT
Daily releases – это не так уж и страшно
Speaker: Oksana [email protected]
Что такое Continuous delivery?Continuous delivery- это набор практик и принципов нацеленных на сборку, тестирование и поставку ПО быстрее и чаще.
Получение непрерывной поставки качественного кода опирается на Continuous integration.
Continuous integration - это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем.
Как работает Continuous Integration?
Как же все происходит на самом деле?
1. Мы все можем гордиться DataArt.
2. В DataArt нас окружают интересные люди и настоящие профессионалы.
3. Мы — единая компания, коллеги всегда готовы помочь друг другу в рабочих и личных вопросах.
Разница между Continuous Delivery и Continuous Deployment
Методология Agile
Agile – это гибкая методология разработки ПО циклами. Каждый этап это уменьшенный вариант ИТ-проекта: проводится планирование, анализ требований, проектирование, кодирование, тестирование, документирование. По окончанию итерации заказчик получает готовую версию ИТ-системы, если требуется пересматривают дальнейшие приоритеты проекта и цикл разработки запускается снова. В итоге создается решение, которое соответствует требованиям заказчика.
Agile software development
• Analysis• Plan• Design• Build• Test• Deploy
Процесс разработки нового функционала:
• Получение требований• Анализ и выяснение требований• Написание тест кейсов• Тестирование• Баг фикс• Регрессионное тестирование• Релиз
* Новый функционал разрабатывается под конфигурационным флагом
Процесс разработки
Разработка автоматизированных тестов
Расписание процесса релиза:• Просмотр отчета прохождения автоматических приемочных тестов на
тестовом окружении
• Тестирование failed и skipped тестов вручную
• Acceptance testing на промежуточном окружении, который наиболее схожий с продакшином
• Smoke testing на продакшине
Роль и обязанности QA-engineer:
• Выяснение и анализ требований
• Оценка затрат времени на работу с проектом
• Работа с тестовой документацией
• Тестирование: functional, regression, cross-browsers
• Поддержка релиза: retesting failed auto test cases, acceptance testing, smoke testing
Роль и обязанности QA-Automation:
• Разработка автоматизированных тестов• Поддержка существующих авто тест кейсов• Поддержка релиза• Поддержка регрессионного тестирования
Принципы Continuous Delivery