Тестирование производительности (оно же нагрузочное тестирование) – сложная автоматизированная процедура.

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

Главная задача такого тестирования – определение масштабируемости программы под воздействием нагрузки. Результатов такого тестирования несколько:

  • замеряется время выполнения тех или иных операций при определенной интенсивности работы;

  • определяется количество пользователей, которые одновременно работают над данной программой;

  • определяются границы оптимальной производительности при возрастании нагрузки;

  • исследуется продуктивность приложения при высокой, предельной, а также стрессовой нагрузке;

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

  • программы для портативных устройств;

  • корпоративные приложения;

  • Интернет-приложения, включая приложения для соцсетей, решения для Интернет-коммерции, веб-порталы.

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

Выделяют три этапа тестирования: анализ, непосредственно тестирование и рекомендации.

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

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

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

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