Сегодня пользователям предлагается такой уровень разнообразия в приложениях, что даже 5-секундная задержка времени загрузки сайта и время отклика выше восьми секунд могут привести к серьезным потерям. Например, в 2013 году только 5-минутный простой Google заставил компанию потерять почти $545 000. Аналогичным образом, в январе 2016 года обновление программного обеспечения привело к тому, что термостат Nest перестал работать и оставил многих пользователей холодными, которые позже разглагольствовали о проблеме в социальных сетях. Кроме того, не так давно сбой Amazon Web Service привел к потере продаж компаний на сумму 1100 долларов в секунду.
Давайте посмотрим на канарейку тестирования, его значение, преимущества и недостатки, так что мы можем оправдать его значение.
От настройки до выполнения теста всего за несколько минут.
Что такое Канарские тестирования?
Canary testing, canary release и canary deployment — это термины, используемые в качестве альтернативы для техники, которая обеспечивает непрерывную доставку при сохранении минимального риска. Процесс заключается в том, чтобы выкатить обновление программного обеспечения для выбранной группы пользователей для тестирования. Метод получил свое название от канарейки птиц, которые были использованы в качестве токсичных детекторов газа в угольных шахтах в прошлом. Канарские острова более чувствительны к токсичным газам, чем люди, поэтому они сразу заболевают или умирают при низких уровнях воздействия. Это помогло шахтерам эвакуироваться из шахт и избежать опасности, пока не стало слишком поздно.
Стратегия развертывания
Аналогичным образом, при тестировании канарейки канарейки, канарейки являются небольшой группой пользователей, которые испытывают последние обновления программного обеспечения, и их обратная связь помогает команде разработчиков решить, если новый релиз должен быть доступен для всех пользователей или изменения должны быть откат быстро. Канарское тестирование – это применение параллельных изменений, которое проводится в отдельной производственной среде, к которой маршрутику подохвна лишь немногие выбранные пользователи, в то время как большинство из них хранится в старой производственной среде. Эта миграция пользователей длится до тех пор, пока все пользователи не будут перенесены на новую версию. Это постепенный подход, который поддерживает инновации и снижает риск нарушения на массовом уровне.
Стратегия отката
Если новая версия окажется крайне ошибочной и представляет большую угрозу для пользовательского опыта, вместо того, чтобы обратить вспять изменения в производственной среде; пользователи перенаправляются на стабильную старую версию. Тем временем команда разработчиков стремится к исправлению ошибок.
Кто является избранными пользователями?
Следующий вопрос заключается в том, кто должен быть пользователями, на которых влияет обновление программного обеспечения? Ну, Существуют различные способы, чтобы решить на канарейке пользователей, таких как:
- Это могут быть домашние или удаленно распределенные группы тестирования
- Из конкретного региона, в случае географически распределенных пользователей
- Единый бренд во-первых, в случае нескольких брендов
Лучшее применение канарейки тестирования, которые могут быть процитированы является Facebook. Facebook работает со стратегией «множественной канарейки». Только внутренние сотрудники сначала подвергаются новым изменениям со всеми переключателями функций, включенных для раннего обнаружения проблем.
Каковы преимущества канарского тестирования
Вы не можете измерить преимущества чего-то, если у вас нет чего-то другого , с чем можно было бы сравнить это. Так что, да, канарейка тестирования часто путают с A / B тестирования и сине-зеленого тестирования. Тем не менее, это лучшее из обоих миров. Давайте посмотрим, почему.
A/B Тестирование
По своей реализации A/B-тестирование аналогично канарскому тестированию. 50 процентам пользователей предоставляется обновленная версия приложения с новой функцией «B». Остальные 50 процентов пользователей продолжают использовать базовую функцию «A». Затем результаты выпуска компонентов отслеживаются для наблюдения за результаты вопреки ожиданиям. Тем не менее, основное внимание A / B сосредоточено на том, чтобы увидеть, насколько полезна функция для клиентов. В то время как канареечное тестирование проводится для снижения риска.
Развертывание сине-зеленых
Развертывание сине-зеленого цвета направлено на устранение простоев и сбоев для конечных пользователей. Изменения внеслись в простаивают производственной среде, в которую все пользователи мигрируют из старой продукции, как только тестирование завершено. Тем не менее, в канарейке тестирования, объем повлияли пользователи сведены к минимуму на первый взгляд.
Мы можем сделать вывод, что канарейка тестирование является лучшим из обоих миров, т.е. A / B тестирования, и сине-зеленого развертывания. Преимущества канарейки развертывания подход может быть перечислен до:
- Это способствует инновациям, ускоряет гибкую разработку и позволяет легко выкатывать новые функции.
- Это обеспечивает нулевое время простоя.
- Это позволяет быстро откат изменений в случае отрицательных результатов.
- Это позволяет высокий уровень конфигурации для условий, чтобы определить, какой трафик отправляется в новый релиз, прежде чем выпустить его на всю базу пользователей.
- Это позволяет нескольким командам одновременно тестировать отдельные микроуправления на производстве.
- В отличие от развертывания сине-зеленого цвета, расширение ресурсов не требуется для тестирования дополнительной среды. Потому что для тестирования принята стратегия микроуправления ресурсами.
- Поведение новой версии можно контролировать, медленно наращивая нагрузку на производство, вместо создания совершенно новой среды тестирования емкости.
- Это позволяет развертывание нескольких версий в производстве. Это обеспечивает команде желаемую свободу, гибкость и скорость для тестирования нового релиза.
Канарское развертывание и loadView
Вы можете достичь наилучших результатов для тестирования производительности без ущерба для пользовательского опыта масс. Все, что вам нужно, это практика развертывания канарейки и отличный инструмент тестирования, который поддерживает метрики для тестирования производительности. Используя канарейку, выполнение тестовых случаев производительности может быть автоматизировано с помощью передового решения, такого как LoadView. Это может показаться запутанным и сложным. Но давайте попробуем понять это с помощью примера. Например, Netflix, одностраничное приложение (SPA), разрабатывает новую функцию и выпускает ее для пользователей канарейки (7,50,000 т.е., 5 процентов от 15 миллионов; на основе статистики 2020 года).
Теперь ни одна команда DevOps не может контролировать такое огромное количество пользователей вручную. Таким образом, LoadView действует как волшебная палочка, поскольку он позволяет DevOps и командам тестирования раскручивать от сотен до тысяч одновременных пользователей для нагрузочного и стресс-тестирования своих приложений и видеть, как их приложения работают под этой прикладной нагрузкой.
Кроме того, что делает LoadView с его инструментом сценариев EveryStep Web Recorder привлекательным выбором , так это то, что он поддерживает SPA нагрузочного тестирования . Логика SPA опирается на технологию JavaScript, которая не поддерживается многими инструментами, такими как JMeter, например. JMeter работает только на уровне протокола, а не браузера, поэтому большая производительность на стороне клиента остается вне результатов тестирования производительности. С помощью регистратора EveryStep создание пользовательских сценариев и путей легко и использует реальные браузеры. Просто завехайте путь и навейте тестовый сценарий. Это действительно так просто.
Проблемы развертывания/тестирования Канарских островов
Каждая монета имеет две стороны. Кто-то скажет, что канарейка развертывания / тестирования методологии имеет свои минусы, но это более уместно узнать следующие упомянутые моменты, как его проблемы.
- Команды DevOps должны управлять несколькими версиями программного обеспечения параллельно. Поэтому рекомендуется с минимальными затратами на количество одновременных версий.
- Вы не можете полностью контролировать новую версию при ее обновлении, если программное обеспечение для решения установлено на устройствах пользователей.
- Управление базами данных становится трудным во время канарейки релизов.
- Внедрение канарейки требует значительных усилий для эффективного и надежного мониторинга инфраструктуры и применения.
- Мониторинг каждого дополнительного выпуска требует времени и может повлиять на дату целевого релиза. Канарские тесты могут занять до нескольких часов.
Вывод: Канарские испытания
Чтобы заключить все это, можно сделать вывод, что канарейка развертывания / тестирования подход может быть вашим следующим лучшим другом в снижении риска, когда дело доходит до выполнения тестирования производительности новой версии вашего программного обеспечения с фактическими пользователями без каких-либо простоев. Как ян Molyneaux заявил в своей книге,
Искусство тестирования производительности приложений: От стратегии к инструментам
, “Есликонечный пользователь воспринимает плохую производительность с вашего сайта, ее следующий клик, вероятно, будет на your-competition.com “. Не позволяй этому случиться. Убедитесь, что ваши клиенты и клиенты получают большой пользовательский опыт.