Сменаweb-платформы«на лету»Евгения Фирсова
Постановка задачи
Цель: смена среды исполнения.Проблемы: несовместимость новой среды исполнения со старым кодом;
 ограничение ресурсов.Постановка задачи
Ограничения, метрики«прозрачность» для пользователей:отсутствие простоев;отсутствие новых требований к оборудованию/окружению пользователя;длительность «переходного» периода:затруднения при внедрении нового функционала;планирование «на потом»;качество работы в «переходный» период:новые требования к участникам процесса; масштаб усилий по синхронизации двух технологий.
Проксирование запросов
Выбор web-сервера «на входе»
Выбор «добровольцев»
Рискивнутренние:ошибки при внедрении новых технологий;неоптимальное использование новых технологий;потеря функционала при переводе на новые технологии;непредсказуемость тестирования;бизнес:срыв сроков;«публичность» ошибок;несовпадение обещаний и результатов;организационные:отложенные проблемы с производительностью;ошибки в выборе новых технологий.
Что влияет на оценку сроков↑ чем ближе мы к началу «переходного» периода, тем сильнее ошибаемся:в оценке скорости разработки;в оценках скорости и качества работы тестеров;↑ вероятность поддаться соблазну фонового проведения рефакторинга;↑↓ отказ от рефакторинга в пользу скорости внедрения функционала;↑ сходимость процесса разворачивания и поддержки новой среды;↑ непредсказуемый рост портала за «переходный» период.
«Пересечения» кодакод, без изменений работающий в обеих средах исполнения:подключаем из единого источника:физическая адресация к единой версии;средства системы контроля версий: амперсанд-модулиcvs, svn:externals, …при сборке пакета/версии для релиза;(вероятно) двойное тестирование;код, требующий изменений для работы в обеих средах исполнения:планируем (не)синхронные изменения в старом коде;двойное тестирование;несовместимый код, выполняющий одинаковые/близкие функции:отслеживанием и синхронизируем изменения;двойное тестирование.
Синхронизация измененийстрого синхронно:единый визуальный или функциональный элемент на страницах, работающих в двух средах исполнения;поддержка процесса, требующего перехода по страницам, работающим в двух средах исполнения;первое внедрение изменений – в новый код:решаем, понадобиться ли когда-нибудь изменение в старом коде;первое внедрение изменений – в старый код :решаем, не стоит ли сразу перенести функционал в новый код:оцениваем стоимость перетестирования;оцениваем выгоды от использования новых технологий при реализации изменений;планируем отличия в реализациях для старой и новой сред исполнения.
Специфика тестированиярост объёмов тестирования:проксирование;пересекающийся код;рост числа компонент;необходимость отслеживать, на какой среде исполнения работает функционал;проверка конфигураций проксирования;контроль за правильностью переноса конфигураций проксирования.
Синхронные выкладки/релизывременное отключение части хостов от боевой среды:необходим пул хостов;половина пула должна выдерживать двойную нагрузку;последовательная выкладка закрытого «рубильниками» функционала с последующим синхронным включением:тех. возможность реализации «рубильников»;разработка и тестирование «рубильников».
Конец «переходного» периодафинальное переконфигурирование проксирования запросов между web-серверами;отключение старого web-сервера;чистка кода от ненужных «рубильников»;долгожданный подсчёт цыплят:качество выполнения поставленной цели;длительность «переходного» периода;что мы получили, помимо заказанного:качественный код после чистки и рефакторинга;опыт работы с новыми технологиями.

More Related Content

ODP
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
PPTX
евгения фирсова нерелизное тестирование
PPTX
системы контроля версий
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PDF
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
PDF
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
PDF
Enter: testing
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
евгения фирсова нерелизное тестирование
системы контроля версий
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Оптимизация Selenium тестов и ускорение их поддержки
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Enter: testing

What's hot (20)

PPTX
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
PPTX
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
PPTX
Эволюция автотестирования на Selenium
PDF
Azure DevOps сборка, развертывание и тестирование
PDF
Azure DevOps Управление проектом и версионный контроль
PDF
Azure DevOps Адаптация под собственные потребности
PPTX
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
PPTX
С чего начинается родина в автоматизации Qiwi Wallet
PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
PPTX
Готовим Docker для Автоматизации Тестирования
PPT
Новый процесс тестирования на "старом" проекте
PPTX
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
PPTX
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
PPTX
Расширяемая платформа для создания и управления автоматизированными тестами н...
PPT
Сергей Кащенко - Опыт внедрения метрик
PPTX
Eugene Dmitrichenko - Load testing of web applications
PPTX
Load testing of web applications
PPTX
Непрерывная интеграция
PPSX
Сквозное обеспечение качества и расширяемость платформы TFS
PPTX
Тестирование слоёного пирога
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Эволюция автотестирования на Selenium
Azure DevOps сборка, развертывание и тестирование
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Адаптация под собственные потребности
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
С чего начинается родина в автоматизации Qiwi Wallet
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Готовим Docker для Автоматизации Тестирования
Новый процесс тестирования на "старом" проекте
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Расширяемая платформа для создания и управления автоматизированными тестами н...
Сергей Кащенко - Опыт внедрения метрик
Eugene Dmitrichenko - Load testing of web applications
Load testing of web applications
Непрерывная интеграция
Сквозное обеспечение качества и расширяемость платформы TFS
Тестирование слоёного пирога
Ad

Viewers also liked (8)

PDF
Alexei shilov 2010 rit-rakudo
PPT
анатомия интернет банка Publish
PPTX
Ilia kantor паттерны серверных comet решений
ODP
Alexandre.iline rit 2010 java_fxui_extra
PPT
Anatol filin pragmatic documentation 1_r
PPT
анатомия интернет банка Publish
PDF
Sphinx new
PPTX
Microsoft cluster systems ritconf
Alexei shilov 2010 rit-rakudo
анатомия интернет банка Publish
Ilia kantor паттерны серверных comet решений
Alexandre.iline rit 2010 java_fxui_extra
Anatol filin pragmatic documentation 1_r
анатомия интернет банка Publish
Sphinx new
Microsoft cluster systems ritconf
Ad

Similar to евгения б фирсова смена Web платформы на лету (20)

PPTX
Решения Double-Take
PPTX
Виктор Волков "Всё, что Вы хотели знать об Agile, но боялись спросить"
PPTX
«трудности при разработке сложных распределённых систем на Java. способы реше...
PPTX
Обеспечение качества: Практические советы
PDF
Dev collaboration
PPT
О чем молчит Scrum. Whalerider 2010
PPTX
жц (2)
PPTX
жц (2)
PPTX
жц (2)
PDF
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
PDF
It meetup cd
PPTX
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
PPT
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
PPTX
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
PDF
PDF
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
PPTX
Евгения Фирсова -- Нерелизное тестирование
PDF
MS ALM 2013 Review
PPTX
МиСПИСиТ (общие принципы разработки)
PPTX
Как из хаоса рождается порядок
Решения Double-Take
Виктор Волков "Всё, что Вы хотели знать об Agile, но боялись спросить"
«трудности при разработке сложных распределённых систем на Java. способы реше...
Обеспечение качества: Практические советы
Dev collaboration
О чем молчит Scrum. Whalerider 2010
жц (2)
жц (2)
жц (2)
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
It meetup cd
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Евгения Фирсова -- Нерелизное тестирование
MS ALM 2013 Review
МиСПИСиТ (общие принципы разработки)
Как из хаоса рождается порядок

More from rit2010 (20)

PDF
Konstantin kolomeetz послание внутреннему заказчику
PDF
Bykov monitoring mailru
PDF
Alexander shigin slides
PPTX
иван василевич Eye tracking и нейрокомпьютерный интерфейс
PPT
Andrey Petrov P D P
PPT
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
PDF
Dmitry lohansky rit2010
PDF
Dmitry Lohansky Rit2010
PPTX
Related Queries Braslavski Yandex
PPTX
молчанов сергей датацентры 10 04 2010 Light
PPTX
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
PPT
Serge P Nekoval Grails
PPTX
Pavel Braslavski Related Queries Braslavski Yandex
PDF
Max Lapshin Erlyvideo V2
PPT
Eugene Lisitsky Web Sockets
PDF
Alexey Bazhin Balancing
PDF
рит, нефункциональная структура команды, безуглый
PDF
левин михаил выступление на рит большие картинки
PDF
левин михаил выступление на рит
PPTX
антон веснин Rails Application Servers
Konstantin kolomeetz послание внутреннему заказчику
Bykov monitoring mailru
Alexander shigin slides
иван василевич Eye tracking и нейрокомпьютерный интерфейс
Andrey Petrov P D P
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Dmitry lohansky rit2010
Dmitry Lohansky Rit2010
Related Queries Braslavski Yandex
молчанов сергей датацентры 10 04 2010 Light
Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk
Serge P Nekoval Grails
Pavel Braslavski Related Queries Braslavski Yandex
Max Lapshin Erlyvideo V2
Eugene Lisitsky Web Sockets
Alexey Bazhin Balancing
рит, нефункциональная структура команды, безуглый
левин михаил выступление на рит большие картинки
левин михаил выступление на рит
антон веснин Rails Application Servers

евгения б фирсова смена Web платформы на лету

  • 3. Цель: смена среды исполнения.Проблемы: несовместимость новой среды исполнения со старым кодом;
  • 5. Ограничения, метрики«прозрачность» для пользователей:отсутствие простоев;отсутствие новых требований к оборудованию/окружению пользователя;длительность «переходного» периода:затруднения при внедрении нового функционала;планирование «на потом»;качество работы в «переходный» период:новые требования к участникам процесса; масштаб усилий по синхронизации двух технологий.
  • 9. Рискивнутренние:ошибки при внедрении новых технологий;неоптимальное использование новых технологий;потеря функционала при переводе на новые технологии;непредсказуемость тестирования;бизнес:срыв сроков;«публичность» ошибок;несовпадение обещаний и результатов;организационные:отложенные проблемы с производительностью;ошибки в выборе новых технологий.
  • 10. Что влияет на оценку сроков↑ чем ближе мы к началу «переходного» периода, тем сильнее ошибаемся:в оценке скорости разработки;в оценках скорости и качества работы тестеров;↑ вероятность поддаться соблазну фонового проведения рефакторинга;↑↓ отказ от рефакторинга в пользу скорости внедрения функционала;↑ сходимость процесса разворачивания и поддержки новой среды;↑ непредсказуемый рост портала за «переходный» период.
  • 11. «Пересечения» кодакод, без изменений работающий в обеих средах исполнения:подключаем из единого источника:физическая адресация к единой версии;средства системы контроля версий: амперсанд-модулиcvs, svn:externals, …при сборке пакета/версии для релиза;(вероятно) двойное тестирование;код, требующий изменений для работы в обеих средах исполнения:планируем (не)синхронные изменения в старом коде;двойное тестирование;несовместимый код, выполняющий одинаковые/близкие функции:отслеживанием и синхронизируем изменения;двойное тестирование.
  • 12. Синхронизация измененийстрого синхронно:единый визуальный или функциональный элемент на страницах, работающих в двух средах исполнения;поддержка процесса, требующего перехода по страницам, работающим в двух средах исполнения;первое внедрение изменений – в новый код:решаем, понадобиться ли когда-нибудь изменение в старом коде;первое внедрение изменений – в старый код :решаем, не стоит ли сразу перенести функционал в новый код:оцениваем стоимость перетестирования;оцениваем выгоды от использования новых технологий при реализации изменений;планируем отличия в реализациях для старой и новой сред исполнения.
  • 13. Специфика тестированиярост объёмов тестирования:проксирование;пересекающийся код;рост числа компонент;необходимость отслеживать, на какой среде исполнения работает функционал;проверка конфигураций проксирования;контроль за правильностью переноса конфигураций проксирования.
  • 14. Синхронные выкладки/релизывременное отключение части хостов от боевой среды:необходим пул хостов;половина пула должна выдерживать двойную нагрузку;последовательная выкладка закрытого «рубильниками» функционала с последующим синхронным включением:тех. возможность реализации «рубильников»;разработка и тестирование «рубильников».
  • 15. Конец «переходного» периодафинальное переконфигурирование проксирования запросов между web-серверами;отключение старого web-сервера;чистка кода от ненужных «рубильников»;долгожданный подсчёт цыплят:качество выполнения поставленной цели;длительность «переходного» периода;что мы получили, помимо заказанного:качественный код после чистки и рефакторинга;опыт работы с новыми технологиями.
  • 16. Вопросы?saigo@yandex.ru– задать любые вопросыwww.control-freak.ru – почитать подробнееоб управлении версиями, задачами, проблемами и людьми