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

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

нагрузочное тестирование API
 

Что такое тестирование производительности?

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

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

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

Почему вы должны заботиться о тестировании производительности

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

  • Проверьте, соответствует ли приложение критериям производительности (например, данная система должна быть в состоянии обрабатывать до 1000 одновременных пользователей).
  • Найдите узкие места в вычислительной технике приложения.
  • Проверьте, являются ли уровни производительности, которые, как утверждает поставщик программного обеспечения, являются точными.
  • Оцените производительность двух и более систем и определите лучшую.
  • Устойчивость датчика в периоды интенсивного движения.

 

Что такое нагрузочное тестирование?

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

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

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

  • Количество виртуальных пользователей или потоков.
  • Длина нагрузочного теста.
  • Эксплуатационные характеристики.
  • Мы можем выполнить нагрузочный тест и изучить результаты теста после создания скрипта и настройки параметров теста.

 

Преимущества и недостатки нагрузочного тестирования

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

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

Теперь вот некоторые недостатки нагрузочного тестирования:

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

Хотя эти недостатки справедливы, существуют надежные и экономичные способы выполнения нагрузочного тестирования API. Давайте посмотрим на наш собственный инструмент: LoadView.
 

LoadView от Dotcom Monitor

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

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

Вы также получаете кредит в размере 20 долларов США за регистрацию, чего достаточно для поддержки тестирования API как минимум двух проектов.

Предположим, у вас есть существующий API. Ниже описано, как выполнить первый нагрузочный тест с помощью loadView Testing за пять шагов.
 

Шаг 1: Зарегистрируйтесь / войдите в систему и получите кредиты

Нажмите здесь , чтобы увидеть домашнюю страницу тестирования LoadView. Там вы должны увидеть три различных типа сервисов нагрузочного тестирования.

  • Веб-страницы
  • Веб-приложение
  • Веб-службы/API

нагрузочное тестирование API

Выберите Веб-службы/API. Чтобы протестировать API, прокрутите вниз и выберите его.

нагрузочное тестирование API

Вам будет предложено зарегистрироваться или войти в систему. После входа в систему вы увидите, что получили кредит в размере 20 долларов США, который можно использовать для покупки премиальных услуг тестирования.

После регистрации Вы должны быть отправлены в это окно:

нагрузочное тестирование API
 

Шаг 2: Создание нового устройства нагрузочного тестирования

Нажмите кнопку «+ Новый тест». Вы будете отправлены на экран ниже.

нагрузочное тестирование API

В зависимости от API выберите соответствующий тип нагрузочного теста из списка выше. Для этой демонстрации мы будем использовать тип нагрузочного тестирования REST Web API, поскольку у нас есть REST Web API.
 

Шаг 3: Настройка задачи устройства нагрузочного тестирования

Теперь должно быть видно окно настройки задачи. Название вашего устройства может быть изменено с «Без названия» на любое, что вам нравится. Мы рекомендуем также указать ссылку на api, протестированный в описании устройства.

Теперь, когда мой API работает локально, я должен использовать протокол HTTP, а не HTTPS.

Если вы включите подробный ползунок в правом верхнем углу, появятся переключатели, и вы можете выбрать протокол, который вы хотите использовать. В этом случае выберите HTTP, затем введите домен API и маршрут в поле hostname.

Примечание: приведенные выше процедуры предназначены для локально созданных API. Если у вас есть активный API, необходимо выбрать протокол HTTPS.

Введите «IP» в имени параметра и «106.201.85.245» в значении параметра после нажатия кнопки «Добавить параметр».

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

нагрузочное тестирование API

Откройте окно настроек, прокрутив вниз. Поскольку этот демонстрационный API поддерживает только запросы get, мы можем оставить тип запроса по умолчанию GET на месте.
 

Шаг 4. Создание сценария

Ваш вариант использования будет определять, как вы подходите к этому разделу. Мы будем использовать кривую шага загрузки с предопределенным числом колеблющихся пользователей для нашего REST API. Нам не требуется очень подробный отчет, потому что этот демонстрационный API является рудиментарным.

Вы можете перейти к базе знаний LoadView здесь , чтобы узнать больше о построении сценария.
 

Шаг 5: Заключительный отчет

Теперь ваш API проходит нагрузочное тестирование. Обычно это занимает от семи до десяти минут.

Вы можете одновременно проверить отчет или позже получить подробный отчет на свою электронную почту.

Хотите узнать больше о нашей платформе тестирования LoadView? Подумайте о том, чтобы подписаться на бесплатную пробную версию и индивидуальную демонстрацию с экспертом по нагрузочному тестированию сегодня. Мы будем рады услышать от вас.