Я. Садовская "Управление конфигурациями и тестовой...
DESCRIPTION
TRANSCRIPT
![Page 1: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/1.jpg)
Управление конфигурациями и тестовой средой,
или как вложить в руки тестировщиков холодное оружие.
Садовская Яна,АБАК-ПРЕСС
![Page 2: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/2.jpg)
О нас
![Page 3: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/3.jpg)
О чем доклад?● Почему нас перестало устраивать
текущее положение дел?● Как сделать новый легкий стенд?● Что мы для этого придумали?● Какие проблемы остались?
![Page 4: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/4.jpg)
What do we have?
● 5 проектов;● scrum;● 2-3 потока задач к тестированию;● тяжелые тестовые стенды;● 6 машин на один стенд;● синхронизация с внешними сервисами.
![Page 5: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/5.jpg)
Параллельная разработка
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](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/6.jpg)
Работа с громадной базой~ 25 млн. товаров~ 800 т. компаний
● дамп базы ~ до 14 ч.● деплой ~ 10 - 30 м.● операции с базой ~ 4 - 6 ч.
![Page 7: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/7.jpg)
Что делать?
![Page 8: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/8.jpg)
Ход работВсе компоненты — на одну виртуальную машину
db
script
front
cacheindex
job
mail knives
![Page 9: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/9.jpg)
Ход работ● минимальный набор данных — в фикстуры;● латание дыр: данные для корректного
функционирования — в фикстуры;● простейший режим ножа: развертывание базы из
фикстур;
User.seed(:id, {:id => 1, :name => "Super User", :login => "blahblah", :password => "123456", :created_at => Datetime.now})
![Page 10: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/10.jpg)
Эталонный #дампНужно работать с минимальным и достаточным набором данных. Кладем в sql файл.Как отбирали:● логика; ● техники тест-дизайна; ● накопленный опыт;● здравый смысл.
![Page 11: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/11.jpg)
Режимы работы ножа● deploy● deploy:fixtures● deploy:dump
параметры:● название ветки с кодом● версия БД (только для deploy:dump)
![Page 12: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/12.jpg)
Внедрение● у каждого тестировщика свой нож, с преферансом и
барышнями;● новая ветка — новый нож; ● отдельный сферический нож в вакууме для
автотестов;Как быть с данными?● если данные тестировщику больше не нужны —
дропаем;● если данные нужны — сохраняем дамп базы.
![Page 13: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/13.jpg)
PROFIT!!!● количество потребляемого железа свели к
минимуму;● все операции на ноже ~ 2-5 минут;● пустая изолированная среда для автотестов;● каждому члену команды можно создать столько
ножей, сколько хочет, с какой хочет конфигурацией;● счастье тестировщика.
![Page 14: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/14.jpg)
Целостность окруженияКак сохранить нужное нам окружение для ножа? Решение — Docker. Будем хранить в контейнерах.
Но это так, на будущее.
![Page 15: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/15.jpg)
Нерешенные проблемы:( целостность окружения;
:\ необходимость обновления фикстур;
8( периодический мердж миграций, дампов;
;[ связи со сторонними сервисами.
![Page 16: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/16.jpg)
Планы на будущее
● использование контейнеров (Docker);● нож для каждого проекта;● запилить красивый интерфейс
управления деплоями.
![Page 17: Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014](https://reader033.vdocuments.mx/reader033/viewer/2022042814/54c522874a7959d9708b4582/html5/thumbnails/17.jpg)
Спасибо за внимание!
Посмотреть всякое:О нас — railsc.ru О контейнерах — docker.ioО фикстурах — github.com/mbleigh/seed-fu
mailto: [email protected]