Нагрузочное тестирование в Школе Тестирования КОТ Блока качества РСХБ-Интех

Приветствую! В данной статье мы расскажем об одном из курсов Школы Тестирования КОТ (Как Обучить Тестировщика) Блока качества РСХБ-Интех, посвящённом нагрузочному тестированию. Курс был разработан в связи с возникшей потребностью передавать компетенцию новым сотрудникам данного направления. 

2ddbdecf66f45cba1ad2e12e3e2febbf.JPG

Нагрузочное тестирование в банковской сфере

В банковской сфере нагрузочное тестирование критически важно для обеспечения стабильной работы систем, которые управляют банковскими продуктами и процессами их обработки. Нагрузочное тестирование позволяет заранее определить, с каким объемом ресурсов и при каком количестве пользователей система сможет работать в соответствии с требованиями.

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

Что такое нагрузочное тестирование?

Нагрузочное тестирование — это вид тестирования, в ходе которого выполняется определение производительности и времени отклика информационной системы при ожидаемой (в том числе максимальной) нагрузке с целью установления соответствия требованиям, предъявляемым к данной системе.

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

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

7c79b8c449229911495d46bc4b0b290b.JPG

Как проводится нагрузочное тестирование?

Процесс проведения нагрузочного тестирования включает несколько ключевых этапов:

  1. Сбор и анализ требований к системе

  2. Определение целей тестирования:  четкое понимание того, что требуется протестировать

  3. Составление методики нагрузочного тестирования (МНТ) и профиля нагрузки

  4. Создание тестовой среды

  5. Реализация средств нагрузочного тестирования и мониторинга

  6. Проведение тестов

  7. Сбор и анализ результатов

  8. Формирование заключения и разработка протокола

Какие инструменты используются при проведении нагрузочного тестирования?

Существует множество инструментов, применяемых при проведении нагрузочного тестирования. 
 Наиболее популярные приведены ниже:

— Apache JMeter: Открытый инструмент для тестирования функциональности и производительности. Позволяет моделировать нагрузку и анализировать результаты.

— LoadRunner: Коммерческий инструмент от Micro Focus, который предоставляет широкий набор функций для осуществления нагрузочного тестирования.

— Gatling: Мощный инструмент на основе Scala, предназначенный для высокопроизводительного тестирования веб-приложений.

— Locust: инструментальное решение, которое позволяет писать сценарии на Python и проводить распределенное нагрузочное тестирование.

c6cee59b16a70c3b1bc08a469df6611f.JPG

Курс по нагрузочному тестированию в Школе Тестирования КОТ Блока качества РСХБ-Интех

Основными темами курса по нагрузочному тестированию были выбраны такие ключевые этапы, как составление профиля нагрузки, разработка методики нагрузочного тестирования и инструменты, которые применяются для его проведения.

В модуле «Профиль нагрузки» мы описали подходы к его формированию, состав и привели примеры расчетов. 

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

Понимание назначения и состава данных документов позволит новым тестировщикам направления нагрузки быстрее прогрузиться в процессы. 

Продолжают курс несколько модулей, посвященных такому мощному инструменту для проведения нагрузочного тестирования и измерения производительности веб-приложений,  которое используется у нас в Блоке качества,  как Apache JMeter,  он же просто JMeter. В данном наборе модулей мы рассказываем о поддерживаемых протоколах, возможностях инструмента, установке JMeter и плагина jmeter-maven-plugin, а также подробно раскрываем тему элементов и структуры скрипта, включая обзор сэмплеров, логических контроллеров,  пре- и пост-процессоров,  таймеров и конфигурационных элементов.

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

Заключение

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

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

© Habrahabr.ru