СI - модное увлечение или новая классика?

Preview:

DESCRIPTION

Доклад Игоря Ягового на конференции SQA Days-12, 30 ноября-1 декабря, Минск

Citation preview

Scalable eCommerce Platform Solutions

Scalable eCommerce Platform Solutions

CI – Модное увлечение или новая класика? Игорь Яговой

for

Scalable eCommerce Platform Solutions

11/29/2012 2

• 8+ лет в IT

• Проекты: GameDev, Telecommunications, Financial, eBusiness, eCommerce

• Работал: Тестировщиком, Ведущим инженером, Менеджером

Игорь Яговой

Scalable eCommerce Platform Solutions

11/29/2012 3

• Введение

• Простейший CI pipeline

• Реализация части тестирования

• Результат

План

Scalable eCommerce Platform Solutions

11/29/2012 4

Continuous Integration

• Показывает статус билда/кода в любой момент

• Стимулирует стабилизацию кода

• Следит за регрессией

• Упрощает жизнь, отвечает на многие вопросы

• Demo – легко!

CI - что это такое и зачем?

Scalable eCommerce Platform Solutions

11/29/2012 5

CI pipeline для одного компонента

Build

Deploy Smoke Test

Suite Artifact

Repository

Full Test Suite

Report

Commit

Scalable eCommerce Platform Solutions

11/29/2012 6

Усложняем задачу

A build

B build

C build

A tests

B tests

C tests

A+B tests

A+B+C tests

Scalable eCommerce Platform Solutions

11/29/2012 7

• Готовность команды проекта (Dev/QA, PM)

• Наличие железа / cloud

• Инфраструктура

• Интеграция с другими процессами

• Наличие DevOps

Continuous Integration - реализация

Scalable eCommerce Platform Solutions

11/29/2012 8

• Работа над тестовым фреймворком

• Организация тестовых джоб на CI

• Какие тесты запускаем

• CI Support

Вклад QA в Continuous Integration

Scalable eCommerce Platform Solutions

11/29/2012 9

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 10

1. Запускается на CI

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 11

1. Запускается на CI

2. Параметризация – где, куда?

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 12

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 13

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

4. Легкий тест-менеджмент, организация suite

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 14

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

4. Легкий тест-менеджмент, организация suite

5. Читаемый репорт/Детальный репорт/логи

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 15

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

4. Легкий тест-менеджмент, организация suite

5. Читаемый репорт/Детальный репорт/логи

6. Легко дебажить

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 16

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

4. Легкий тест-менеджмент, организация suite

5. Читаемый репорт/Детальный репорт/логи

6. Легко дебажить

7. Параллелизация

Test Framework

Scalable eCommerce Platform Solutions

11/30/2012 17

1. Запускается на CI

2. Параметризация – где, куда?

3. Поддержка различных suite, test groups

4. Легкий тест-менеджмент, организация suite

5. Читаемый репорт/Детальный репорт/логи

6. Легко дебажить

7. Параллелизация

8. Mapping Test <-> Defect

Test Framework

Scalable eCommerce Platform Solutions

11/29/2012 18

Лампочка - 2 статуса мало, принцип светофора

Test Jobs: Практики

Scalable eCommerce Platform Solutions

11/29/2012 19

Джобы запускают 1 suite

Hint: Environment может не убиваться после

Test Jobs: Практики

failed тестов

Scalable eCommerce Platform Solutions

11/29/2012 20

Ускоряем прогон тестов

– тесты делятся на логические группы

– тестовые джобы запускаются параллельно

– smoke тесты тоже параллелятся

* Не забудь настроить правильные зависимости

Test Jobs: Параллелизация

Scalable eCommerce Platform Solutions

11/29/2012 21

Test Jobs: Пример

Commit to A

build A

Smoke A+stub B

Commit to B

build B

Smoke

Full suite

Smoke Int with A

Full Int with A

Nexus

Smoke A+B

Nexus? Nexus

Full suite A+stub B

Full suite A+B

Type 1

Full suite A+B

Type 2

Report

Promote Promote?

Report

Scalable eCommerce Platform Solutions

11/29/2012 22

У Нас свой артефакт!

• Тесты

• Зависимости - API, Stubs etc.

• Test Data

• Tools

Какие тесты запускать?

Scalable eCommerce Platform Solutions

11/29/2012 23

Tests CI

Build

Promote

Commit

Artifact Repository

Scalable eCommerce Platform Solutions

11/29/2012 24

Tests CI: Добавляем новый тест

• Тест Passed – Отлично!

• Тест Failed – Отлично! Заведи дефект!

Scalable eCommerce Platform Solutions

11/29/2012 25

• Какого цвета лампочка?

• Держать актуальным Тест Артефакт

CI Support: Что же это?

Scalable eCommerce Platform Solutions

11/29/2012 26

• Ошибка в тесте

• Тест не актуальный

• Bug!

Solution:

• Удалять тесты с CI можно!

• Mapping: Test <-> Defect – Must Have

CI Support : Красная лампочка

Scalable eCommerce Platform Solutions

11/29/2012 27

Держи актуальными:

• Тесты и Тестовые наборы

• Зависимости (API, Stub, etc.)

• Тестовые данные

CI Support : Тест Артефакт

Scalable eCommerce Platform Solutions

11/29/2012 28

• CI дежурный - plugin наш выбор:

CI Support : Дежурный

Scalable eCommerce Platform Solutions

11/29/2012 29

CI Support : Дежурный

Scalable eCommerce Platform Solutions

11/29/2012 30

Команда тестирования:

• Stop Execution

• Занимайся своей работой

• СI – эталонный энвайронмент

• Дефекты - находим и фиксим

• Трекаем только Epic дефекты

Бенефиты

Scalable eCommerce Platform Solutions

11/29/2012 31

Команда разработчиков:

• Commit = Feedback

• Нет регрессии

• Дефект debug – легко!

• Тестирование происходит реально вместе с разработкой

Бенефиты

Scalable eCommerce Platform Solutions

11/29/2012 32

Менеджер:

• Мгновенный статус билда/проекта

• Красивый репорт!

• Дефекты находятся раньше

• Исправлять ошибки сравнительно дешево

• Только minor дефекты живут после конца итерации

Бенефиты

Scalable eCommerce Platform Solutions

Вопросы?

11/29/2012 33

Recommended