qalight
Центр подготовки
IT специалистов

База знаний

Тестирование производительности

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

• Определения рабочего количества пользователей приложения.

• Измерение времени выполнения различных операций системы.

• Определения производительности приложения при различных степенях нагрузки.

• Определения допустимых границ производительности программы при разных уровнях нагрузки.

perfor_test

В зависимости от характеристик, которые нам нужно протестировать, тестирование производительности делится на типы:

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

• Стресс-тестирование (Stresstesting) – тестирование работоспособности приложения при нагрузках, превышающих пользовательские в несколько раз. При стресс-тестировании (зачастую, только при нем) мы можем получить реальные данные границ производительности приложения, исследовать способность программы обрабатывать исключения, ее стабильность и устойчивость. Именно в значительно увеличенной нагрузке на приложение и заключается разница между тестированием производительности и стресс тестированием.

• Тестирование стабильности или наработка на отказ (Stability/Reliabilitytesting)  исследует работоспособность приложения при длительной работе во времени, при нормальной для программы нагрузке.

• Объемное тестирование (VolumeTesting) – тестирование проводится с увеличением не нагрузки и времени работы, а количества используемых данных, которые хранятся и используются в приложении.

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

• Нагрузочное тестирование (производительность при нормальных условиях).

• Стресс-тестирование (работоспособность, производительность и характеристики приложения при экстремальных нагрузках).

• Тестирование стабильности (при длительной работе).

• Объемное тестирование (при увеличенных объемах обрабатываемых данных).