Нагрузочное тестирование
этой статьи Начальный раздел может быть слишком коротким, чтобы адекватно суммировать ключевые моменты . ( декабрь 2021 г. ) |
Нагрузочное тестирование — это процесс предъявления требований к конструкции или системе и измерения ее реакции.
Нагрузочное тестирование программного обеспечения
[ редактировать ]Термин нагрузочное тестирование [1] или стресс-тестирование по-разному используется в профессиональном сообществе тестировщиков программного обеспечения . Нагрузочное тестирование обычно относится к практике моделирования ожидаемого использования программы путем моделирования одновременного доступа к программе нескольких пользователей. [2] Таким образом, это тестирование наиболее актуально для многопользовательских систем; часто создается с использованием модели клиент/сервер, например веб-серверов. Однако другие типы программных систем также можно протестировать под нагрузкой. Например, текстовый процессор или графический редактор можно заставить прочитать очень большой документ; или финансовый пакет можно заставить составить отчет на основе данных за несколько лет. Наиболее точное нагрузочное тестирование имитирует фактическое использование, а не тестирование с использованием теоретического или аналитического моделирования.
Нагрузочное тестирование позволяет измерить качество обслуживания (QOS) вашего веб-сайта на основе фактического поведения клиентов. Почти все инструменты и платформы нагрузочного тестирования следуют классической парадигме нагрузочного тестирования: когда клиенты посещают ваш веб-сайт, устройство записи сценариев записывает общение, а затем создает соответствующие сценарии взаимодействия. Генератор нагрузки пытается воспроизвести записанные сценарии, которые перед воспроизведением могут быть изменены с использованием других параметров тестирования. В процедуре воспроизведения статистика как оборудования, так и программного обеспечения будет отслеживаться и собираться проводником, эта статистика включает в себя процессор, память, дисковый ввод-вывод физических серверов и время отклика, пропускную способность тестируемой системы (SUT), и т. д. И наконец, вся эта статистика будет проанализирована и сформирован отчет о нагрузочном тестировании.
Тестирование нагрузки и производительности анализирует программное обеспечение, предназначенное для многопользовательской аудитории, подвергая программное обеспечение воздействию разного количества виртуальных и реальных пользователей и одновременно отслеживая измерения производительности при этих различных нагрузках. Нагрузочное тестирование и тестирование производительности обычно проводятся в тестовой среде, идентичной производственной среде, прежде чем программная система будет запущена в эксплуатацию.
Цели нагрузочного тестирования: - Обеспечить соответствие системы критериям производительности;- Определить точку отказа системы;- Проверить, как продукт реагирует на простои, вызванные нагрузкой.
Например, веб-сайт с возможностью корзины покупок должен поддерживать 100 одновременных пользователей, разбитых на следующие действия:
- 25 виртуальных пользователей (VUsers) входят в систему, просматривают элементы и затем выходят из системы.
- 25 пользователей VUser входят в систему, добавляют товары в корзину, оформляют заказ и затем выходят из системы.
- 25 пользователей VUser входят в систему, возвращают ранее купленные предметы и затем выходят из системы.
- 25 пользователей VUser просто входят в систему без каких-либо последующих действий.
Аналитик тестирования может использовать различные инструменты нагрузочного тестирования для создания этих пользователей VUser и их действий. После запуска теста и достижения устойчивого состояния приложение тестируется при загрузке 100 пользователей VUser, как описано выше. Затем можно отслеживать и фиксировать производительность приложения.
Особенности нагрузочного тестирования плана или сценария обычно различаются в разных организациях. Например, в приведенном выше маркированном списке первый элемент может представлять 25 пользователей VUsers, просматривающих уникальные элементы, случайные элементы или выбранный набор элементов в зависимости от разработанного плана тестирования или сценария. Однако все планы нагрузочного тестирования пытаются смоделировать производительность системы в диапазоне ожидаемых пиковых рабочих процессов и объемов. Критерии прохождения или провала нагрузочного теста (критерии «пройден/не пройден») также обычно различаются в разных организациях. Не существует стандартов, определяющих приемлемые показатели производительности нагрузочного тестирования.
Распространенным заблуждением является то, что программное обеспечение для нагрузочного тестирования предоставляет возможности записи и воспроизведения, такие как регрессионного тестирования инструменты . Инструменты нагрузочного тестирования анализируют весь стек протоколов OSI , тогда как большинство инструментов регрессионного тестирования сосредоточены на производительности графического пользовательского интерфейса . Например, инструмент регрессионного тестирования запишет и воспроизведет щелчок мышью по кнопке в веб-браузере, а инструмент нагрузочного тестирования отправит гипертекст, который веб-браузер отправляет после того, как пользователь нажмет кнопку. В многопользовательской среде инструменты нагрузочного тестирования могут отправлять гипертекст нескольким пользователям, при этом каждый пользователь имеет уникальный идентификатор входа, пароль и т. д.
Доступные популярные инструменты нагрузочного тестирования также позволяют понять причины низкой производительности. Существует множество возможных причин снижения производительности системы, включая, помимо прочего, следующие:
- Сервер(ы) приложений или программное обеспечение
- Сервер(ы) базы данных
- Сеть – задержка , перегруженность и т. д.
- Обработка на стороне клиента
- Балансировка нагрузки между несколькими серверами
Нагрузочное тестирование особенно важно, если на приложение, систему или службу будет распространяться соглашение об уровне обслуживания или SLA.
Нагрузочное тестирование проводится для определения поведения системы как в нормальных, так и в ожидаемых условиях пиковой нагрузки. Это помогает определить максимальную рабочую мощность приложения, а также любые узкие места и определить, какой элемент вызывает ухудшение. Когда нагрузка, оказываемая на систему, превышает нормальные режимы использования для проверки реакции системы на необычно высокие или пиковые нагрузки, это называется стресс-тестированием . Нагрузка обычно настолько велика, что ожидаемым результатом являются состояния ошибок, но не существует четкой границы, когда деятельность перестает быть нагрузочным тестом и становится стресс-тестом.
Термин «нагрузочное тестирование» часто используется как синоним параллельного тестирования , тестирования производительности программного обеспечения , тестирования надежности и объемного тестирования для конкретных сценариев. Все это виды нефункционального тестирования , которые не являются частью функционального тестирования, используемого для проверки пригодности к использованию того или иного программного обеспечения.Тестирование физической нагрузки
[ редактировать ]Многие виды машин, двигателей, [3] структуры, [4] и моторы [5] проходят нагрузочное тестирование. Нагрузка может иметь назначенную безопасную рабочую нагрузку (SWL), полную нагрузку или повышенный уровень нагрузки. Регулирующий контракт, техническая спецификация или метод испытаний содержат подробную информацию о проведении испытаний. Целью испытания на механическую нагрузку является проверка того, что все составные части конструкции, включая материалы, крепления основания, соответствуют поставленной задаче и нагрузке, на которую она рассчитана.
Используются несколько типов нагрузочного тестирования.
- Статическое испытание – это когда назначенная постоянная нагрузка применяется в течение определенного времени.
- Динамическое испытание – это приложение переменной или подвижной нагрузки.
- Циклические испытания состоят из повторяющихся нагрузок и разгрузок в течение заданных циклов, продолжительности и условий.
В Постановлении о поставках оборудования (безопасности) 1992 года в Великобритании указано, что нагрузочные испытания проводятся перед первым вводом оборудования в эксплуатацию. При тестировании производительности применяется безопасная рабочая нагрузка (SWL) или другая указанная нагрузка в течение определенного времени в соответствии с руководящим методом испытаний, спецификацией или контрактом. В соответствии с Положением Великобритании о подъемных операциях и подъемном оборудовании 1998 года испытание под нагрузкой после первоначального испытания требуется в случае замены основного компонента, перемещения объекта из одного места в другое или по указанию компетентного лица.
Система зарядки автомобиля
[ редактировать ]автомобиля Нагрузочный тест можно использовать для оценки состояния аккумулятора . Тестер состоит из большого резистора, сопротивление которого аналогично сопротивлению стартера автомобиля , и измерителя, считывающего выходное напряжение аккумулятора как в разгруженном, так и в нагруженном состоянии. При использовании тестера в первую очередь проверяется напряжение разомкнутой цепи аккумулятора. Если напряжение холостого хода ниже нормы (12,6 В для полностью заряженной батареи), сначала заряжается батарея. После считывания напряжения холостого хода аккумулятора подается нагрузка. При его применении он потребляет примерно тот же ток, который потребляет стартер автомобиля во время проворачивания двигателя. Судя по указанным амперам холодного запуска аккумулятора, если напряжение под нагрузкой падает ниже определенной отметки, аккумулятор неисправен. Нагрузочные испытания также используются на работающих автомобилях для проверки мощности автомобильного генератора переменного тока .
См. также
[ редактировать ]- Управление интернет-приложениями
- Тестирование на выдержку
- Стресс-тестирование
- Структурные испытания
- Тестирование системы
- Веб-тестирование
- Бенчмаркинг веб-сервера
Ссылки
[ редактировать ]- ^ Цзян, Чжэнь Мин; Хасан, Ахмед Э. (2015). «Обзор по нагрузочному тестированию крупномасштабных программных систем» . Транзакции IEEE по разработке программного обеспечения . 41 (11). ИИЭР: 1091–1118.
- ^ Уэскотт, Боб (2013). Книга о производительности каждого компьютера, Глава 6: Нагрузочное тестирование . Создать пространство . ISBN 978-1482657753 .
- ^ Харпер, Дэвид; Девин Мартин, Гарольд Миллер, Роберт Гримли и Фредерик Грейнер (2003), Проектирование газовой турбины для тяжелых условий эксплуатации 6C , ASME Turbo Expo 2003, приурочено к Международной совместной конференции по производству электроэнергии 2003 года, том. 2: Turbo Expo 2003, Атланта, Джорджия: ASME 1., стр. 833–841, ISBN. 978-0-7918-3685-9 , получено 14 июля 2013 г.
{{citation}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Рейнс, Ричард; Гарнье, Жак (2004), 23-я Международная конференция по морской механике и арктической инженерии, Том 1, части a и B , 23-я Международная конференция по морской механике и арктической инженерии, том. 1, Ванкувер, Британская Колумбия: ASME, стр. 621–631, номер документа : 10.1115/OMAE2004-51343 , ISBN. 978-0-7918-3743-6 , получено 14 июля 2013 г.
- ^ ОПРЕДЕЛЕНИЕ НАГРУЗКИ И КПД ЭЛЕКТРОДВИГАТЕЛЯ (PDF) , vol. DOE/GO-10097-517, Министерство энергетики США, 2010 г., ISBN. 978-0-9709500-6-2 , получено 14 июля 2013 г.
Внешние ссылки
[ редактировать ]- «Моделирование реального мира для веб-сайтов нагрузочного тестирования» , Стивен Сплейн
- Что такое нагрузочное тестирование? Том Хьюстон
- 4 типа нагрузочного тестирования и когда каждый из них следует использовать Дэвид Бух
- Испытание на производительность, нагрузку, стресс или выносливость? Какой вы хотите? Крис Джонс