Прежде чем приложение для мобильного устройства или ПК попадет к пользователям, оно должно пройти целый ряд тестов, в том числе и нагрузочное тестирование. Так называют совокупность испытаний, проверяющих возможности программного продукта при серьезных нагрузках — большом числе пользователей, значительных объемах данных, которыми приложение вынуждено оперировать. Проводить такое исследование ПО целесообразнее в автоматизированном режиме, способном воссоздать реальные условия нагрузок.
Кроме того, понятие нагрузочного тестирование подразумевает также проверку работоспособности программы при среднем уровне нагрузки, но в течение длительного времени — нескольких часов. Причем в ходе такой проверки на первый план выходит вовсе не время, затрачиваемое приложением на выполнение действий, а отсутствие или наличие утечек памяти, перезапуска сервера и так далее.
Чтобы понять, насколько быстро приложение возвращается к нормальному режиму работы после сбоев (аварийного изменения конфигурации сервера, повышения интенсивности операций до очень большого значения), тестировщики осуществляют так называемые стресс-тесты.
Проводится на этапе разработки и интеграционное тестирование. В него попадают те компоненты программного продукта, которые уже были проверены в ходе модульного тестирования. Перед специалистами ставится задача понять, корректно ли взаимодействуют
отдельные модули, если заставить их работать вместе. При этом последовательность «включения» модулей может быть различной: иногда логичнее двигаться от более крупных, высокоуровневых компонентов к более мелким, иногда — наоборот.
Существует и еще одна методика, получившая название «большого взрыва» или монолита — при ней все модули соединяются в систему, и только потом запускается процесс тестирования. Впрочем, эта методика не лишена недостатков — найти конкретный компонент, ставший причиной ошибки, бывает очень непросто, поэтому отбор кейсов в таком случае должен быть особенно тщательным и продуманным.
Используемое нагрузочное тестирование в совокупности с интеграционным методом позволяет выявить все недостатки системы, касающиеся ее функциональности. Разумеется, приложение нужно будет проверить еще и на эргономику — удобство использования, однако за этот вопрос отвечает уже другой набор тестов (юзабилити).