Приветствую! В данной статье мы расскажем об одном из курсов Школы Тестирования КОТ (Как Обучить Тестировщика) Блока качества РСХБ-Интех, посвящённом нагрузочному тестированию. Курс был разработан в связи с возникшей потребностью передавать компетенцию новым сотрудникам данного направления.
Нагрузочное тестирование в банковской сфере
В банковской сфере нагрузочное тестирование критически важно для обеспечения стабильной работы систем, которые управляют банковскими продуктами и процессами их обработки. Нагрузочное тестирование позволяет заранее определить, с каким объемом ресурсов и при каком количестве пользователей система сможет работать в соответствии с требованиями.
Так как банки являются предприятиями непрерывного цикла, их сервисы должны работать бесперебойно. Нагрузочное тестирование также позволяет определить и предотвратить попадание в эксплуатацию ошибок, возникающих через продолжительное время после многопользовательской нагрузки.
Что такое нагрузочное тестирование?
Нагрузочное тестирование – это вид тестирования, в ходе которого выполняется определение производительности и времени отклика информационной системы при ожидаемой (в том числе максимальной) нагрузке с целью установления соответствия требованиям, предъявляемым к данной системе.
Нагрузочное тестирование производится в рамках одной информационной системы, при этом вместо других систем, для получения ответов, устанавливаются заглушки.
Нагрузочное тестирование является обязательным этапом в процессе разработки программного обеспечения для высоконагруженных критичных систем. В случае неудовлетворительного результата нагрузочных испытаний тестируемая модификация системы/релиза не будет тиражирована в промышленную среду. По итогам нагрузочного тестирования формируется соответствующий протокол с результатами проверок.
Как проводится нагрузочное тестирование?
Процесс проведения нагрузочного тестирования включает несколько ключевых этапов:
Сбор и анализ требований к системе
Определение целей тестирования: четкое понимание того, что требуется протестировать
Составление методики нагрузочного тестирования (МНТ) и профиля нагрузки
Создание тестовой среды
Реализация средств нагрузочного тестирования и мониторинга
Проведение тестов
Сбор и анализ результатов
Формирование заключения и разработка протокола
Какие инструменты используются при проведении нагрузочного тестирования?
Существует множество инструментов, применяемых при проведении нагрузочного тестирования.
Наиболее популярные приведены ниже:
Apache JMeter: Открытый инструмент для тестирования функциональности и производительности. Позволяет моделировать нагрузку и анализировать результаты.
LoadRunner: Коммерческий инструмент от Micro Focus, который предоставляет широкий набор функций для осуществления нагрузочного тестирования.
Gatling: Мощный инструмент на основе Scala, предназначенный для высокопроизводительного тестирования веб-приложений.
Locust: инструментальное решение, которое позволяет писать сценарии на Python и проводить распределенное нагрузочное тестирование.
Курс по нагрузочному тестированию в Школе Тестирования КОТ Блока качества РСХБ-Интех
Основными темами курса по нагрузочному тестированию были выбраны такие ключевые этапы, как составление профиля нагрузки, разработка методики нагрузочного тестирования и инструменты, которые применяются для его проведения.
В модуле «Профиль нагрузки» мы описали подходы к его формированию, состав и привели примеры расчетов.
Модуль «Методика нагрузочного тестирования» подробно раскрывает этапы формирования данного документа, включая описание предварительных работ, целей, ограничений, объекта тестирования, тестового контура, стратегии проведения тестирования, его мониторинга, а также критериев успешности. Помимо этого, мы описали порядок согласования, обновления и применения методики нагрузочного тестирования.
Понимание назначения и состава данных документов позволит новым тестировщикам направления нагрузки быстрее прогрузиться в процессы.
Продолжают курс несколько модулей, посвященных такому мощному инструменту для проведения нагрузочного тестирования и измерения производительности веб-приложений, которое используется у нас в Блоке качества, как Apache JMeter, он же просто JMeter. В данном наборе модулей мы рассказываем о поддерживаемых протоколах, возможностях инструмента, установке JMeter и плагина jmeter-maven-plugin, а также подробно раскрываем тему элементов и структуры скрипта, включая обзор сэмплеров, логических контроллеров, пре- и пост-процессоров, таймеров и конфигурационных элементов.
Отдельный модуль посвящен такой теме, как создание тест плана и запись скрипта, где мы рассказали о том, как создать новый скрипт и записать его по сценарию, как запустить скрипт через прокси и отлаживать его с применением параметризации.
Заключение
Нагрузочное тестирование является важным этапом в разработке программного обеспечения, особенно в областях, где информация и услуги должны быть доступны в любое время без сбоев. В банковской сфере, где стабильность и безопасность — это основа доверия клиентов, качественное нагрузочное тестирование позволяет удостовериться в надежности систем, что, в свою очередь, отражается на репутации компании и ее успехе на рынке.
В Школе Тестирования КОТ Блока качества мы планируем продолжать аккумулировать компетенцию по направлению нагрузочного тестирования, с целью адаптации новых сотрудников и развития их компетенций.