В программировании существует такое понятие, как критический предел возможностей приложения. Это его цифровая возможность выполнять задачу с безлимитными вычислительными мощностями. Для чего нужно обнаруживать данный предел? В первую очередь – дабы точно установить, как ведет себя программный код в «экстренной» ситуации. Для каких-нибудь базовых программ это и вовсе не нужно, а вот, к примеру, для антивирусов или интернет-приложений – важный параметр. И выявление возможного предела функционирования приложения – достаточно сложный в плане выполнения тест.

Для чего необходим так называемый стресс-тест? В качестве примера можно привести программу, с помощью которой пользователь управляет своим электронным кошельком. Что будет, если она будет получать не корректные сигналы, да ещё с частотой порядка 1 миллиона в секунду? Вполне возможно, что она зависнет и автоматически закроется. Но при этом оставит после себя временные файлы и кеш. Опытный хакер из них легко сможет извлечь и пароли доступа, и даже контактные данные пользователя. И это касается в том числе интернет-приложенй. В свое время даже популярный сайт «Вконтакте» подвергался определенным хакерским атакам, после чего злоумышленники получали доступ к контактным данным пользователей.

Как именно проводится программный стресс-тест. Более подробней об этом можно почитать, к примеру, на сайте здесь. Там же детально описано, как именно может вести себя операционная система в условиях критической перегрузки.

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

А существует ещё такое понятие, как проверка нефункциональных возможностей прикладного ПО. Это отслеживание ответной реакции программы на подачу каких-то сторонних сигналов. Таким образом выявляются так называемые BackDoor-уязвимости, то есть, когда обходится интегрированная система защиты несанкционированного доступа.

Стресс-тест программного обеспечения