Организация автоматического тестирования в схеме...

36
Организация Организация автоматизированного тестирования автоматизированного тестирования в схеме непрерывной интеграции в схеме непрерывной интеграции Кудинов Илья, Badoo Development

Upload: sqalab

Post on 16-Jun-2015

483 views

Category:

Education


2 download

DESCRIPTION

Доклад Ильи Кудинова, SQA Days-13, 26-27 апреля 2013, www.sqadays.com

TRANSCRIPT

Page 1: Организация автоматического тестирования в схеме непрерывной интеграции

Организация Организация автоматизированного тестированияавтоматизированного тестированияв схеме непрерывной интеграциив схеме непрерывной интеграции

Кудинов Илья, Badoo Development

Page 2: Организация автоматического тестирования в схеме непрерывной интеграции

Не автоматизированное тестированиеНе автоматизированное тестирование

Page 3: Организация автоматического тестирования в схеме непрерывной интеграции

Автоматизированное тестированиеАвтоматизированное тестирование

Page 4: Организация автоматического тестирования в схеме непрерывной интеграции

Немного цифр:Немного цифр:

● 2 релиза в день● >40 задач в день● ≈70 разработчиков● 22 QA инженера

● ≈180 миллионов пользователей● 600 тысяч пользователей онлайн

Page 5: Организация автоматического тестирования в схеме непрерывной интеграции

Этапы контроля качестваЭтапы контроля качества

1. ???

2. ???

3. ???

4. ???

5. ???

Page 6: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. ???

3. ???

4. ???

5. ???

Этапы контроля качестваЭтапы контроля качества

Page 7: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. ???

4. ???

5. ???

Этапы контроля качестваЭтапы контроля качества

Page 8: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. ???

5. ???

Этапы контроля качестваЭтапы контроля качества

Page 9: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. ???

Этапы контроля качестваЭтапы контроля качества

Page 10: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 11: Организация автоматического тестирования в схеме непрерывной интеграции

Скучно?Скучно?

Исправляем!Исправляем!

Page 12: Организация автоматического тестирования в схеме непрерывной интеграции
Page 13: Организация автоматического тестирования в схеме непрерывной интеграции
Page 14: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 15: Организация автоматического тестирования в схеме непрерывной интеграции

Code ReviewCode Review

Page 16: Организация автоматического тестирования в схеме непрерывной интеграции

Коммит-хуки gitКоммит-хуки git

● Корректность имени ветки● Проверка валидности кода (phpcf!)● Проверка прав на мерж● Обновление тикетов● … и многое другое, всего около 40

Page 17: Организация автоматического тестирования в схеме непрерывной интеграции

Code ReviewCode Review

Page 18: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 19: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 20: Организация автоматического тестирования в схеме непрерывной интеграции

Автоматическое тестирование веткиАвтоматическое тестирование ветки

Page 21: Организация автоматического тестирования в схеме непрерывной интеграции

Многопоточная ПускалкаМногопоточная Пускалка

● Сбор статистики по тестам● Оптимальное распределение по потокам● Красивый вывод в консоль● Формирование отчёта для TeamCity● 17'000 юнит-тестов за 3-4 минуты!● Going OpenSource — stay tuned!

Page 22: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 23: Организация автоматического тестирования в схеме непрерывной интеграции

● 2 платформы — эмуляция продакшна● Собственная база данных● Свой sandbox для каждого девелопера● Общие для всех sandbox'ов демоны

Девелоперское окружениеДевелоперское окружение

Page 24: Организация автоматического тестирования в схеме непрерывной интеграции

Ручной запуск юнит-тестов и Ручной запуск юнит-тестов и интеграционных тестовинтеграционных тестов

Page 25: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 26: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 27: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

3.5 Автоматическое тестирование релиза

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 28: Организация автоматического тестирования в схеме непрерывной интеграции

Знакомьтесь: АидаЗнакомьтесь: Аида

Page 29: Организация автоматического тестирования в схеме непрерывной интеграции

Automated Interactive Deploy AssistantAutomated Interactive Deploy Assistant

● Деплой задач на препродакшн● Automerge● Запуск автоматических тестов● Рассылка уведомлений (jira, mail, jabber...)● … и многое другое!

Page 30: Организация автоматического тестирования в схеме непрерывной интеграции

Автоматическое тестирование релизаАвтоматическое тестирование релиза

● Smoke-тесты при мерже ветки● Юнит-тесты● Интеграционные тесты● Selenium-тесты

Page 31: Организация автоматического тестирования в схеме непрерывной интеграции

А если в новом релизе падают тесты?А если в новом релизе падают тесты?

Page 32: Организация автоматического тестирования в схеме непрерывной интеграции

Deploy DashboardDeploy Dashboard

● Список текущих релизов● Список задач в каждом релизе● Список активных шотов

● Патчи к текущему релизу!

Page 33: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

3.5 Автоматическое тестирование релиза

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 34: Организация автоматического тестирования в схеме непрерывной интеграции

Р Е Л И З !

Page 35: Организация автоматического тестирования в схеме непрерывной интеграции

1. Code Review

1.5 Автоматическое тестирование ветки

2. Тестирование на девелоперском сервере

3. Тестирование в шоте

3.5 Автоматическое тестирование релиза

4. Тестирование на препродакшене

5. Тестирование на продакшене

Этапы контроля качестваЭтапы контроля качества

Page 36: Организация автоматического тестирования в схеме непрерывной интеграции

badoo.com

vk.com/badoocomfb.com/BadooMoscowtwitter.com/BadooDev

habrahabr.ru/company/badoo/

vk.com/relzegfb.com/relzeg