Я. Садовская "Управление конфигурациями и тестовой...

17
Управление конфигурациями и тестовой средой , или как вложить в руки тестировщиков холодное оружие. Садовская Яна, АБАК-ПРЕСС

Upload: it-people

Post on 26-Jan-2015

1.597 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Управление конфигурациями и тестовой средой,

или как вложить в руки тестировщиков холодное оружие.

Садовская Яна,АБАК-ПРЕСС

Page 2: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

О нас

Page 3: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

О чем доклад?● Почему нас перестало устраивать

текущее положение дел?● Как сделать новый легкий стенд?● Что мы для этого придумали?● Какие проблемы остались?

Page 4: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

What do we have?

● 5 проектов;● scrum;● 2-3 потока задач к тестированию;● тяжелые тестовые стенды;● 6 машин на один стенд;● синхронизация с внешними сервисами.

Page 5: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Параллельная разработка

project

team #1

team #2

branch #1

branch #2

branch #3

branch #4

branch #5

P A I N

staging #1

staging #2

staging #3

Page 6: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Работа с громадной базой~ 25 млн. товаров~ 800 т. компаний

● дамп базы ~ до 14 ч.● деплой ~ 10 - 30 м.● операции с базой ~ 4 - 6 ч.

Page 7: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Что делать?

Page 8: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Ход работВсе компоненты — на одну виртуальную машину

db

script

front

cacheindex

job

mail knives

mail

Page 9: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Ход работ● минимальный набор данных — в фикстуры;● латание дыр: данные для корректного

функционирования — в фикстуры;● простейший режим ножа: развертывание базы из

фикстур;

User.seed(:id, {:id => 1, :name => "Super User", :login => "blahblah", :password => "123456", :created_at => Datetime.now})

Page 10: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Эталонный #дампНужно работать с минимальным и достаточным набором данных. Кладем в sql файл.Как отбирали:● логика; ● техники тест-дизайна; ● накопленный опыт;● здравый смысл.

Page 11: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Режимы работы ножа● deploy● deploy:fixtures● deploy:dump

параметры:● название ветки с кодом● версия БД (только для deploy:dump)

Page 12: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Внедрение● у каждого тестировщика свой нож, с преферансом и

барышнями;● новая ветка — новый нож; ● отдельный сферический нож в вакууме для

автотестов;Как быть с данными?● если данные тестировщику больше не нужны —

дропаем;● если данные нужны — сохраняем дамп базы.

Page 13: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

PROFIT!!!● количество потребляемого железа свели к

минимуму;● все операции на ноже ~ 2-5 минут;● пустая изолированная среда для автотестов;● каждому члену команды можно создать столько

ножей, сколько хочет, с какой хочет конфигурацией;● счастье тестировщика.

Page 14: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Целостность окруженияКак сохранить нужное нам окружение для ножа? Решение — Docker. Будем хранить в контейнерах.

Но это так, на будущее.

Page 15: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Нерешенные проблемы:( целостность окружения;

:\ необходимость обновления фикстур;

8( периодический мердж миграций, дампов;

;[ связи со сторонними сервисами.

Page 16: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Планы на будущее

● использование контейнеров (Docker);● нож для каждого проекта;● запилить красивый интерфейс

управления деплоями.

Page 17: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014

Спасибо за внимание!

Посмотреть всякое:О нас — railsc.ru О контейнерах — docker.ioО фикстурах — github.com/mbleigh/seed-fu

mailto: [email protected]