Тестирование производительности является одной из наиболее распространенных важных контрольных точек в тестировании веб-сервисов. Тестирование производительности определяется как искусственное создание или моделирование нагрузки и измерение того, как ее обрабатывает окружающая среда.
Это означает, что необязательно должно быть то, как система работает при высокой нагрузке, это также может быть то, как она работает при базовой или ожидаемой нагрузке. Его даже не нужно структурировать, автоматизировать или создавать в TestWare, например, в SoapUI; простое обновление веб-браузера снова и снова, очень быстрое и нагрузочное тестирование.
Типы тестирования производительности
Ниже приведены типы тестирования производительности —
-
Базовое тестирование — исследует, как система работает при ожидаемой или нормальной нагрузке, и создает базовый уровень, с которым можно сравнивать другие типы тестов.
-
Нагрузочное тестирование — включает в себя увеличение нагрузки и посмотреть, как система ведет себя при более высокой нагрузке. Во время нагрузочных тестов пользователь может отслеживать время отклика, пропускную способность, состояние сервера и многое другое. Цель нагрузочного тестирования — не нарушать целевую среду.
-
Тестирование на замачивание . Цель тестирования — убедиться, что нежелательное поведение не возникает в течение более длительного периода времени.
-
Тестирование масштабируемости — Тестирование масштабируемости очень похоже на нагрузочное тестирование, однако вместо увеличения количества запросов он увеличивает размер или сложность отправляемых запросов. Например, отправка больших запросов, больших вложений или глубоко вложенных запросов.
Базовое тестирование — исследует, как система работает при ожидаемой или нормальной нагрузке, и создает базовый уровень, с которым можно сравнивать другие типы тестов.
Нагрузочное тестирование — включает в себя увеличение нагрузки и посмотреть, как система ведет себя при более высокой нагрузке. Во время нагрузочных тестов пользователь может отслеживать время отклика, пропускную способность, состояние сервера и многое другое. Цель нагрузочного тестирования — не нарушать целевую среду.
Тестирование на замачивание . Цель тестирования — убедиться, что нежелательное поведение не возникает в течение более длительного периода времени.
Тестирование масштабируемости — Тестирование масштабируемости очень похоже на нагрузочное тестирование, однако вместо увеличения количества запросов он увеличивает размер или сложность отправляемых запросов. Например, отправка больших запросов, больших вложений или глубоко вложенных запросов.
Ключевые аспекты в веб-сервисе
Два аспекта выделяются уникальными характеристиками производительности веб-службы.
Первый аспект
На стороне сервера происходит обработка XML / JSON, как синтаксический анализ XML / JSON, так и сериализация . Первое, что часто терпит неудачу, — это обработка полезных данных. Причины неудачи могут быть множественными; это может быть в платформе, слабости сервера приложений, или это может быть проблема реализации в виде излишне сложных WSDL. Это также может означать, что код выполняет запрос к базе данных, которая медленно отвечает.
Аспект тестирования . Сложность парсинга полезной нагрузки XML / JSON означает, что необходимо уделять особое внимание тестированию масштабируемости. Это также означает, что WSDL должны быть тщательно изучены. Если запросы и ответы являются сложными или большими или если они содержат большие вложения, следует сосредоточиться на том, чтобы подчеркнуть сложность и посмотреть, как она ведет себя под нагрузкой.
Второй аспект
Другим часто встречающимся фактором является безопасность. Защищенные сайты за HTTPS имеют значительно более низкую производительность, и при тестировании веб-служб мы можем добавить уровень WSSecurity к уровню безопасности HTTP, еще больше снижая производительность.
Аспект тестирования — вопрос безопасности означает, что необходимо сосредоточиться на выполнении тестирования безопасных запросов. Если вся веб-служба защищена, это означает, что нагрузочное тестирование является более важным, особенно если используется WS-Security и обработка токенов.