На каких компонентах приложения проводится нагрузочное тестирование?

«На каких компонентах приложения проводится нагрузочное тестирование?» — вопрос из категории Тестирование производительности, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основной фокус нагрузочного тестирования — серверные компоненты, так как они обрабатывают основную нагрузку:

  • API (Backend-сервисы): Проверка времени ответа, пропускной способности и стабильности под высокой одновременной нагрузкой.
  • Базы данных: Тестирование производительности запросов (SELECT, INSERT, UPDATE) при большом количестве соединений и данных.
  • Микросервисы/Бэкенд-логика: Оценка масштабируемости и поиск узких мест (bottlenecks).

Почему именно серверная часть? Потому что она является распределителем ресурсов и обработчиком бизнес-логики для множества клиентов. Сбой здесь приводит к недоступности для всех пользователей.

Пример сценария для JMeter (тестирование API):

<ThreadGroup>
  <numThreads>100</numThreads> <!-- 100 параллельных пользователей -->
  <rampUp>60</rampUp>          <!-- Наращивание нагрузки за 60 секунд -->
  <loopCount>10</loopCount>    <!-- 10 запросов на пользователя -->
</ThreadGroup>
<HTTPSampler>
  <domain>api.example.com</domain>
  <path>/v1/orders</path>
  <method>POST</method>
</HTTPSampler>

Клиентская часть (UI) обычно не является целевым объектом для классического нагрузочного тестирования, но может тестироваться на отзывчивость под нагрузкой на бэкенде.