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

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

Что такое нагрузочное тестирование и почему оно важно

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

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

 

О платформе тестирования LoadView

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

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

Использование LoadView для загрузки тестовых API: создание API для тестирования

Давайте создадим API для использования с LoadView.

Примечание: вы можете пропустить этот процесс, если у вас уже есть API, готовый к тестированию.

В целях демонстрации мы создадим простой API с помощью nodeJs. Целью API является ввод IP-адреса и получение информации об указанном адресе. Для этого мы будем использовать MacOs. Пользователи Windows и Linux могут изменять код ввода в соответствии со своей ОС.

Сначала инициализируем проект:

npm init нагрузочный тестер

Как только процесс будет завершен, вы увидите файл package.json в своем каталоге.

Теперь мы установим две зависимости: Axios и Express, которые нам нужны для создания нашего API:

npm i axios express

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

Теперь наше приложение узла успешно инициализировано. Чтобы запустить его, откройте файл «package.json» и добавьте следующий сценарий запуска, а затем введите следующий сценарий:

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

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

npm i nodemon

Теперь в том же каталоге создайте новый файл с именем «index.js».

Скопируйте этот код в файл индекса.js:


import app from "./app.js"
const server = app.listen( 3000, () => {
app.use("/", (req, res) => {
res.end("Hello world!")
})
console.log(`server listening at http://localhost:3000`);
});

 

Таким образом, мы можем, наконец, запустить наш файл. В терминале выполните следующее:

нодмон

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

Теперь пришло время проверить, запущен ли наш API или нет. В этой демонстрации мы будем использовать VS Code extensionion THUNDER CLIENT, но вы можете использовать любое программное обеспечение, которое вам нравится.

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

Сделайте запрос GET на http://localhost:3000 и вы должны получить текстовый ответ «Hello World!»

Чтобы имитировать сложную задачу, мы будем использовать ipinfo.io который является 3-м сторонним API, который отправляет всю IP-информацию в ответ на API. А для использования самого API нам нужен Axios.

Создайте новое файловое приложение.js и скопируйте следующий код:


import express from "express";
const app = express();
import axios from "axios"
app.use(express.json())
app.get("/api", async (req, res) => {
try{
const result = await axios.get(`https://ipinfo.io/${req.query.ip}/geo`)
console.log(result.data)
res.json({
"result": result.data
})
}
catch(err){
res.json(err.error)
}
})
export default app

 

Теперь вы сможете увидеть это в своей консоли:

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

Теперь давайте протестируем наш API с клиентом Thunder.

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

Теперь вы должны увидеть, что мы реализовали поиск IP-адресов, передав IP-адрес в качестве параметра запроса в URL-адресе.
 

Использование LoadView для тестирования API

 

Шаг 1: Войдите / войдите в Recieve Credits

В loadview-testing.com вы найдете три различных типа услуг нагрузочного тестирования:

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

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

Щелкните Веб-службы/API. Прокрутите вниз до пункта «TEST YOUR API» и выберите его.

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

Вам будет предложено войти в систему или зарегистрироваться, если вы новый пользователь.

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

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

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

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

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

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

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

Теперь вы увидите окно настройки задачи. Вы можете изменить название своего Устройства с Без названия на любое другое, что вы хотите. Желательно также добавить описание к устройству, ссылаясь на API, который вы тестируете.

Поскольку этот тестовый API работает локально, нам нужно запустить его по протоколу HTTP, а не по протоколу HTTPS.

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

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

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

Примечание: Этот шаг действителен только в том случае, если он следовал приведенному выше руководству по API и сделал аналогичный API.

Если вы правильно выполнили описанные выше шаги, форма URL-адреса конфигурации задачи должна выглядеть примерно так:

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

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

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

Ниже приведены некоторые дополнительные параметры, которые вы можете захотеть передать в зависимости от вашего API. Пройдите и выберите их все.

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

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

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

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

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

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

Поздравляем, вы успешно создали демонстрационный API и/или запустили рудиментарный нагрузочный тест. Чтобы узнать больше о LoadView, зарегистрируйтесь для бесплатной пробной версии LoadView и запланируйте индивидуальную демонстрацию. Мы будем рады услышать от вас.