SlideShare uma empresa Scribd logo
1 de 76
Аккуратно переезжаем
тестирование в проектах миграции
или
О чем я хочу поговорить:
• Миграция, что это?
• Что же это за проекты такие?
• Проблемы есть?
• Что с этим делать?
• Примеры есть?
Есть ли среди вас те, кто участвовал
в проектах миграции?
Есть ли среди вас разработчики?
Есть ли среди вас Чак Норрис?
Сколько отжиманий может сделать
Чак Норрис?
Будьте бдительны:
Миграция, что это?
Миграция, что это?
лат. migratio, от migro —
перехожу, переселяюсь.
Может выглядеть так:
или так:
или даже так:
Узнаете?
Что же это за проекты такие?
Воссоздание и перенос данных:
Что характерно:
• Потеря функционала
• Потеря функционала
• Потеря данных
Что характерно:
• Потеря функционала
• Потеря данных
• Изменение характеристик системы
Что характерно:
Возьмите и перенесите:
• Потеря доступности
Что характерно:
• Потеря доступности
• Изменение окружения
Что характерно:
• Потеря доступности
• Изменение окружения
• Изменение характеристик системы
Что характерно:
Смена айпишника:
Виртуализация:
Проблемы?
Проблемы! Они есть всегда!
Время:
Не забыли ещё?
Изменчивость среды:
Непревывность бизнеса:
Стоимость:
Кадровый голод:
Выглядит страшно?
2 реальных примера
Маркетинг:
• Часто обновляется
• Локализации иногда радикально отличаются
• Занудные владельцы
• Приличные объемы
• Куча функциональных костылей
Так разницы почти не видно:
Так разницы почти не видно:
А вот так уже очень видно...
Основной упор – контент:
• Сравнивали с эталоном
Основной упор – контент:
• Сравнивали с эталоном
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
• Верифицировали самостоятельно
Основной упор – контент:
• Сравнивали с эталоном
• Валидировали самостоятельно
• Верифицировали самостоятельно
• Валидацию раздали заинтересованным
лицам
Основной упор – контент:
Саппорт:
• Плановая выкатка контента пачками
• Межязыковое единообразие
• Более сговорчивые владельцы
• 7,5К статей на основные локализации
Основной упор – пользователи:
• Бета-версия
Proof-pic
• Бета-версия
• Сбор фидбэков
Основной упор – пользователи:
• Бета-версия
• Сбор фидбэков
• Привлечение сотрудников саппорта
Основной упор – пользователи:
Эталонное тестирование:
• Сравниваем со старой системой
Эталонное тестирование:
• Сравниваем со старой системой
• Сравниваем локализации друг с другом
Очень agile:
Инструменты
Бета – тестеры:
Старательно писали логи:
Играли старые логи:
«Простите нас, пожалуйста» 
Растяжки, датчики, сирены:
Доступность и производительность:
Доступность и производительность:
Доступность и производительность:
Пользовательские сценарии:
• Для разработчиков
Пользовательские сценарии:
• Для разработчиков
• Для миграторов
Пользовательские сценарии:
• Для разработчиков
• Для миграторов
• Для UAT
Пользовательские сценарии:
• Для разработчиков
• Для миграторов
• Для UAT
• И...
Пользовательские сценарии:
• Для разработчиков
• Для миграторов
• Для UAT
• И...
• Их сделали сами пользователи
В результате:
• Штатных тестировщиков – 0
• Штатных тестировщиков – 0
• Внештатных – гораздо больше
В результате:
• Штатных тестировщиков – 0
• Внештатных – гораздо больше
• 25К страниц
В результате:
• Штатных тестировщиков – 0
• Внештатных – гораздо больше
• 25К страниц
• С Фряхи на Винду
В результате:
• Штатных тестировщиков – 0
• Внештатных – гораздо больше
• 25К страниц
• С Фряхи на Винду
• С Perl’а на C#
В результате:
• Штатных тестировщиков – 0
• Внештатных – гораздо больше
• 25К страниц
• С Фряхи на Винду
• С Perl’а на C#
• И мы ещё не закончили
В результате:
Каждому свое:
«Слова вы услышали, поиск пути за вами»
Уильямс Деминг
Спасибо за внимание!
• Я: Роман Ивлиев
• Е-почта: roman.ivliev@mail.ru
• @dumtest
• dumtest.livejournal.com

Mais conteúdo relacionado

Semelhante a Про тестирование миграций

Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Ontico
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Ontico
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньDevDay
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...MDDay_4
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»DevDay
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ontico
 
Автостопом по багтрекингам
Автостопом по багтрекингамАвтостопом по багтрекингам
Автостопом по багтрекингамTatiana Borolyuk
 
автостопом по багтрекингам
автостопом по багтрекингамавтостопом по багтрекингам
автостопом по багтрекингамSergey Oreshkov
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontendDenis Kolesnikov
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?DotNetConf
 

Semelhante a Про тестирование миграций (20)

Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Take a Look at Akka-Java
Take a Look at Akka-JavaTake a Look at Akka-Java
Take a Look at Akka-Java
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
 
Автостопом по багтрекингам
Автостопом по багтрекингамАвтостопом по багтрекингам
Автостопом по багтрекингам
 
автостопом по багтрекингам
автостопом по багтрекингамавтостопом по багтрекингам
автостопом по багтрекингам
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 

Mais de Roman Ivliev

Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-системRoman Ivliev
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016Roman Ivliev
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеRoman Ivliev
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиRoman Ivliev
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингRoman Ivliev
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работаетRoman Ivliev
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.Roman Ivliev
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных системRoman Ivliev
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими рукамиRoman Ivliev
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистовRoman Ivliev
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядомRoman Ivliev
 
Qualitative battle for the quantity final
Qualitative battle for the quantity finalQualitative battle for the quantity final
Qualitative battle for the quantity finalRoman Ivliev
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3Roman Ivliev
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Roman Ivliev
 

Mais de Roman Ivliev (17)

Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучше
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжиниринг
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работает
 
Soa tester view
Soa tester viewSoa tester view
Soa tester view
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных систем
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими руками
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистов
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядом
 
Qualitative battle for the quantity final
Qualitative battle for the quantity finalQualitative battle for the quantity final
Qualitative battle for the quantity final
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2
 

Про тестирование миграций