Выбрать страницу

По мере того, как гибкая разработка становится новой обычной, частое предоставление улучшенных услуг трансформирует модели бизнес-процессов. Вопрос в том, почему? Ну, простой ответ заключается в приобретении и удержании клиентов путем своевременного предоставления качественных продуктов или услуг для удовлетворения быстро меняющихся потребностей клиентов. Следующий вопрос: ставит ли это под угрозу качество? Краткий ответ : «тестирование производительности». Опять же, зачем инвестировать в тестирование, когда оно может задержать выпуск сборки? Ну, это не большой компромисс, потому что тестирование является основой качества, без которого вся цель гибкой рухнет. Именно по этой причине внедряются более интеллектуальные инструменты и методы тестирования. Канарские тестирования для тестирования производительности набирает обороты в эти дни.

Сегодня пользователям предлагается такой уровень разнообразия в приложениях, что даже 5-секундная задержка времени загрузки сайта и время отклика выше восьми секунд могут привести к серьезным потерям. Например, в 2013 году только 5-минутный простой Google заставил компанию потерять почти $545 000. Аналогичным образом, в январе 2016 года обновление программного обеспечения привело к тому, что термостат Nest перестал работать и оставил многих пользователей холодными, которые позже разглагольствовали о проблеме в социальных сетях. Кроме того, это не так давно, что Amazon Web Service отключения вызвало компании потери продаж на сумму $ 1100 в секунду.

Давайте посмотрим на канарейку тестирования, его значение, преимущества и недостатки, так что мы можем оправдать его значение.

 

Что такое Канарские тестирования?

Канарские тестирования, канарейки релиз, и канарейка развертывания являются термины, используемые в качестве альтернативы для техники, которая позволяет непрерывную доставку при сохранении риска минимум. Процесс заключается в том, чтобы выкатить обновление программного обеспечения для выбранной группы пользователей для тестирования. Метод получил свое название от канарейки птиц, которые были использованы в качестве токсичных детекторов газа в угольных шахтах в прошлом. Канарские острова более чувствительны к токсичным газам, чем люди, поэтому они сразу заболевают или умирают при низких уровнях воздействия. Это помогло шахтерам эвакуироваться из шахт и избежать опасности, пока не стало слишком поздно.

 

Стратегия развертывания

Аналогичным образом, при тестировании канарейки канарейки, канарейки являются небольшой группой пользователей, которые испытывают последние обновления программного обеспечения, и их обратная связь помогает команде разработчиков решить, если новый релиз должен быть доступен для всех пользователей или изменения должны быть откат быстро. Канарское тестирование – это применение параллельных изменений, которое проводится в отдельной производственной среде, к которой маршрутику подохвна лишь немногие выбранные пользователи, в то время как большинство из них хранится в старой производственной среде. Эта миграция пользователей длится до тех пор, пока все пользователи не будут перенесены на новую версию. Это постепенный подход, который поддерживает инновации и снижает риск нарушения на массовом уровне.

 

Стратегия отката

Если новая версия окажется крайне ошибочной и представляет большую угрозу для пользовательского опыта, вместо того, чтобы обратить вспять изменения в рабочей среде; пользователи перенаправляются на стабильную старую версию. Тем временем команда разработчиков стремится к исправлению ошибок.

 

Кто является избранными пользователями?

Следующий вопрос заключается в том, кто должен быть пользователями, на которых влияет обновление программного обеспечения? Ну, Существуют различные способы, чтобы решить на канарейке пользователей, таких как:

  • Это могут быть домашние или удаленно распределенные группы тестирования
  • Из конкретного региона, в случае географически распределенных пользователей
  • Единый бренд во-первых, в случае нескольких брендов

 

Лучшее применение канарейки тестирования, которые могут быть процитированы является Facebook. Facebook работает со стратегией «множественной канарейки». Только внутренние сотрудники сначала подвергаются новым изменениям со всеми переключателями функций, включенных для раннего обнаружения проблем.

 

Каковы преимущества канарского тестирования

Вы не можете измерить преимущества чего-то, если у вас есть что-то еще, чтобы сравнить его с. Так что, да, канарейка тестирования часто путают с A / B тестирования и сине-зеленого тестирования. Тем не менее, это лучшее из обоих миров. Давайте посмотрим, почему.

 

A/B Тестирование

По реализации A/B-тестирование похоже на тестирование канарейки. 50 процентам пользователей предоставляется обновленная версия приложения с новой функцией «B». Остальные 50 процентов пользователей продолжают использовать базовую функцию «А». Затем результаты выпуска функций отслеживаются, чтобы наблюдать за результатами, не соответствует ожиданиям. Тем не менее, в центре внимания A / B, чтобы увидеть, насколько полезна функция для клиентов. В то время как канарейка тестирование проводится для снижения риска.

 

Развертывание сине-зеленых

Развертывание сине-зеленого цвета направлено на устранение простоев и сбоев для конечных пользователей. Изменения внеслись в простаивают производственной среде, в которую все пользователи мигрируют из старой продукции, как только тестирование завершено. Тем не менее, в канарейке тестирования, объем повлияли пользователи сведены к минимуму на первый взгляд.

Мы можем сделать вывод, что канарейка тестирование является лучшим из обоих миров, т.е. A / B тестирования, и сине-зеленого развертывания. Преимущества канарейки развертывания подход может быть перечислен до:

  • Это способствует инновациям, ускоряет гибкую разработку и позволяет легко выкатывать новые функции.
  • Это обеспечивает нулевое время простоя.
  • Это позволяет быстро откат изменений в случае отрицательных результатов.
  • Это позволяет высокий уровень конфигурации для условий, чтобы определить, какой трафик отправляется в новый релиз, прежде чем выпустить его на всю базу пользователей.
  • Это позволяет нескольким командам одновременно тестировать отдельные микроуправления на производстве.
  • В отличие от развертывания сине-зеленого цвета, расширение ресурсов не требуется для тестирования дополнительной среды. Потому что для тестирования принята стратегия микроуправления ресурсами.
  • Поведение новой версии можно контролировать, медленно наращивая нагрузку на производство, вместо создания совершенно новой среды тестирования емкости.
  • Это позволяет развертывание нескольких версий в производстве. Это обеспечивает команде желаемую свободу, гибкость и скорость для тестирования нового релиза.

 

Канарское развертывание и loadView

Вы можете достичь наилучших результатов для тестирования производительности без ущерба для пользовательского опыта масс. Все, что вам нужно, это практика развертывания канарейки и отличный инструмент тестирования, который поддерживает метрики для тестирования производительности. Используя канарейку, выполнение тестовых случаев производительности может быть автоматизировано с помощью передового решения, такого как LoadView. Это может показаться запутанным и сложным. Но давайте попробуем понять это с помощью примера. Например, Netflix, одностраничное приложение (SPA), разрабатывает новую функцию и выпускает ее для пользователей канарейки (7,50,000 т.е., 5 процентов от 15 миллионов; на основе статистики 2020 года).

Теперь ни одна команда DevOps не может контролировать такое огромное количество пользователей вручную. Таким образом, LoadView действует как волшебная палочка, так как она позволяет DevOps и группам тестирования вращать до сотен до тысяч одновременных пользователей для загрузки и стресс-теста против своих приложений, и посмотреть, как их приложения работают под этой прикладной нагрузкой.

Кроме того, что делает LoadView, с его EveryStep Web Recorder скриптов инструмент, убедительный выбор заключается в том, что он поддерживает загрузку тестирования SPAs. Логика SPA опирается на технологию JavaScript, которая не поддерживается многими инструментами, такими как JMeter, например. JMeter работает только на уровне протокола, а не браузера, поэтому большая производительность на стороне клиента остается вне результатов тестирования производительности. С помощью регистратора EveryStep создание пользовательских сценариев и путей легко и использует реальные браузеры. Просто завехайте путь и навейте тестовый сценарий. Это действительно так просто.

 

Проблемы развертывания/тестирования Канарских островов

Каждая монета имеет две стороны. Кто-то скажет, что канарейка развертывания / тестирования методологии имеет свои минусы, но это более уместно узнать следующие упомянутые моменты, как его проблемы.

  • Команды DevOps должны управлять несколькими версиями программного обеспечения параллельно. Поэтому рекомендуется с минимальными затратами на количество одновременных версий.
  • Вы не можете полностью контролировать новую версию при ее обновлении, если программное обеспечение для решения установлено на устройствах пользователей.
  • Управление базами данных становится трудным во время канарейки релизов.
  • Внедрение канарейки требует значительных усилий для эффективного и надежного мониторинга инфраструктуры и применения.
  • Мониторинг каждого дополнительного выпуска требует времени и может повлиять на дату целевого релиза. Канарские тесты могут занять до нескольких часов.

 

Вывод: Канарские испытания

Чтобы заключить все это, можно сделать вывод, что канарейка развертывания / тестирования подход может быть вашим следующим лучшим другом в снижении риска, когда дело доходит до выполнения тестирования производительности новой версии вашего программного обеспечения с фактическими пользователями без каких-либо простоев. Как ян Molyneaux заявил в своей книге,
Искусство тестирования производительности приложений: От стратегии к инструментам
, «Есликонечный пользователь воспринимает плохую производительность с вашего сайта, ее следующий клик, вероятно, будет на your-competition.com «. Не позволяй этому случиться. Убедитесь, что ваши клиенты и клиенты получают большой пользовательский опыт.

Начните тестирование нагрузки прямо сейчас с LoadView.