Oksana Kharchuk - Daily releases

Preview:

Citation preview

Daily releases – это не так уж и страшно

Speaker: Oksana KharchukQA-engineeroksana.kharchuk@dataart.com

Что такое 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