Как выполнить нагрузочное тестирование с реальными браузерами, используя элемент Flood?

Итак, вы думаете о нагрузочном тестировании.


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

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

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

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

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

Итак, в эту современную эру Интернета тестирование на уровне протокола (PLU) может дать нам только большую часть картины производительности нашего приложения. Напротив, новые инструменты, такие как Flood Element, тестируют, имитируя поведение пользователя с помощью реальных веб-браузеров. Мы называем этот подход пользователями уровня браузера (BLU).

В Flood Element моделируемое поведение пользователя определяется с помощью простых, естественных действий, таких как нажатие на ссылки и кнопки, заполнение веб-форм и так далее. После того, как вы определили поведение, вы можете приступить к работе в огромном масштабе на flood.io – и я имею в виду тысячи пользователей со всего мира.!

Нагрузочное тестирование с помощью Flood Element может помочь вам разработать целостное, интуитивно понятное представление о производительности вашего приложения с точки зрения пользователя. Учитывая то, что мы, пользователи, сами думаем, что пользователи – это то, что мы все делаем естественным образом, также гораздо удобнее начинать тест с Element BLU, чем с традиционными инструментами PLU..

BLU помогают вам получить реалистичное представление о производительности всего вашего приложения сверху вниз. PLU действительно проверяют только то, что находится под ватерлинией – вашу сетевую и серверную инфраструктуру.

Целостный взгляд

Использование Flood Element для измерения производительности всего вашего приложения с точки зрения пользователей – отличный способ разработать целостное представление о производительности вашего приложения и, таким образом, защитить от необъяснимых изменений – будь то временные аномалии или, возможно, регрессии в коде.

Тесты Flood Element BLU дают представление о производительности, намного более близкое к пользовательскому. Они учитывают каждую часть производительности, которую будет испытывать пользователь: производительность сети, а также производительность скриптов на странице, а также скрипты сторонних производителей, такие как аналитика или надстройки рекламы (на самом деле наши тесты настолько реалистичны, что вы необходимо принять меры, чтобы не создавать ложные данные в Google Analytics.)

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

Написание теста

Теперь давайте посмотрим, как легко начать работу с Flood Element.

Элемент скриптов написан на Машинопись или современный JavaScript. Для лучшего опыта мы рекомендуем использовать замечательную комбинацию TypeScript, отредактированную с использованием VS Code, потому что она дает вам много полезной помощи при разработке ваших тестов..

Вы можете установить Element, используя инструкции по началу работы здесь: https://element.flood.io/

После установки отредактируйте и протестируйте свой скрипт локально, и когда вы будете готовы загрузить его в flood.io, чтобы выполнить полномасштабное нагрузочное тестирование, подписавшись на пробную версию здесь: https://flood.io/load-performance-testing-tool/free-load-testing-trial/

Базовый тест Element BLU для сценария регистрации выше может выглядеть

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

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

Исходя из сценария, приведенного выше, мы заинтересованы в том, чтобы рассчитывать время, в течение которого пользователь регистрируется, но не столько во время загрузки страницы. Итак, на первом этапе мы посещаем URL и ждем, пока страница не достигнет известного состояния – пока не появится заголовок.

Далее мы действуем, мы заинтересованы в том, чтобы следить, а именно заполнять и отправлять регистрацию.

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

  • Создать проект

  • Нажмите «Создать поток» в вашем новом проекте

  • Создайте свой тест, используя опцию Flood Element

  • Назовите свой тест

  • Загрузите созданный вами скрипт .ts:

  • Установите количество браузеров (пользователей), а также # регионов, чтобы получить общее количество пользователей (# браузеров * # регионов). Также не забудьте установить продолжительность теста:

  • Запустите тест и дождитесь результатов:

  • Получив результаты, просмотрите график и перейдите к любым проблемным областям, которые они могут выделить:

Вывод

Итак, теперь вы знаете, почему (и как), как тестировать пользователей уровня браузера с помощью Flood Element. Благодаря этому новому подходу мы избавились от многих трудностей, связанных с созданием нагрузочных тестов, и в то же время сделали результаты более реалистичными..

Может показаться сложным начать тестирование с тысячами пользователей, но каждый шаг легко выполнить по одному шагу:

  1. Скачать элемент
  2. Напишите простой тест локально, охватывающий ваш ключевой сценарий (т.е. оформление заказа)
  3. Запустите тест локально с помощью ‘element run’, чтобы убедиться, что тест выполняется полностью
  4. Загрузите ваш тест во Flood и запустите с 5-10% от максимальной нагрузки (т. Е. Если ваша максимальная нагрузка составляет 5000 пользователей, начните с 250-500 пользователей)
  5. Оцените результаты и настройте ваш скрипт и приложение по мере необходимости
  6. Загрузите ваш тест во Flood и запустите с 50-100% от максимальной нагрузки (т. Е. Если ваша максимальная нагрузка составляет 5000 пользователей, тогда запустите с 2500-5000 пользователей)
  7. Увеличьте свое тестовое покрытие, чтобы охватить дополнительные сценарии, необходимые для достижения желаемого тестового покрытия..

В зависимости от сложности вашего тестового сценария, вы можете начать работу с тысячами пользователей менее чем за день. Так что не теряйте времени – отправляйтесь на https://element.flood.io чтобы начать экспериментировать с Flood Element сегодня!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map