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

Является частью такого вида нефункционального тестирования как тестирование производительности.

Больше всего подходит для многопользовательских систем, чаще – использующих клиент-серверную архитектуру. Однако и другие типы ПО могут быть протестированы подобным способом.
Назначение —
Нагрузочное тестирование поможет вам получить ответы на следующие вопросы:

Достаточно ли быстро система отвечает на присылаемые запросы?

Будет приложение таким же эффективным при увеличении количества задач?

Работают ли ваши сервера оптимально или простаивают?
Справляется ли ваша система с обработкой большого количества пользователей или запросов от других систем или сервисов?
Достаточно ли в компании серверов, достаточна ли их мощность, а также пропускная способность сетей?

Имеются ли в системе медленные и/или ресурсоемкие операции, которые нуждаются в оптимизации со стороны программистов?

Создавать определенную нагрузку и определить параметры производительности системы. При этом используется идентичное программное и аппаратное обеспечение.
Это позволяет
Задача тестирования
Определить узкие места в системе в целом.
Оптимизировать работу кода при длительной эксплуатации;
Проверить тестируемые системы на предмет функционирования под требуемыми уровнями нагрузки;
7. Анализ результатов
Важным этапом является проведение анализа по выполненным тестам – соответствует ли проведенное тестирование заданным критериям.
В результате формируется документ, который суммирует всю информацию с предоставлением: подтверждающих выполнение критериев графиков, списка найденных дефектов, рекомендаций по настройкам серверов приложений или самих систем, заключения о готовности ПО к выводу в промышленную эксплуатацию.
8. Предоставление отчета о тестировании
Базовые виды:
— Тест поиска максимальной производительности/подтверждение максимума
— Тест стабильности/надежности
— Тест отказоустойчивости
Также могут быть добавлены объемное тестирование, конфигурационное, стрессовое и т. д.
6. Проведение тестирования
На данном этапе происходят запуски выбранных видов тестов
5. Формирование сценариев подачи нагрузки согласно ранее составленному профилю и видам нагрузочного тестирования
Определение и выставление нужных параметров для создания сценариев подачи правильной нагрузки из наборов тестируемых операций или сервисов.
Написание необходимого количества скриптов для эмуляции действий пользователя через UI и/или посредством использования механизмов обращения через API, очереди сообщений и т. д.
4. Разработка и отладка скриптов нагрузочного тестирования
3. Составление профиля нагрузки
Описываются операции, проводится декомпозиция по интенсивностям для каждой из выбранных операций, для которых проводится нагрузочное тестирование (как часть МНТ).
Формируются цели и план тестирования, составляется архитектура приложения с точки зрения НТ, определяются критерии успешного прохождения тестирования, описание тестового стенда и т. д.
2. Создание методики нагрузочного тестирования (МНТ)
Этапы процесса
1. Анализ тестируемой системы
С представителем бизнеса и руководителем команды разработки обсуждается, действительно ли система будет работать с указанным количеством пользователей, запрошенной интенсивностью и т. д.
Инструменты создания нагрузки
— MF LoadRunner
— Performance Center
— Apache JMeter
— Gatling
Средства сбора метрик
и мониторинга
— Telegraf
— Elastic/Kibana/Graylog
— Prometheus
— InfluxDB
— Grafana
— Zabbix
— Splunk
Системы управления различными базами данных (SQL/noSQL)
— Oracle
— PostgreSQL
— MSSQL
— MongoDB
— Couchbase
Инструменты автоматизации, CI/CD и контейнеризации
— Jenkins
— Docker
— OpenShift
Операционные системы
— Linux
— Windows
— Apache Tomсat
— IBM Application Server
— WildFly
Сервера приложений
Языки программирования, программные оболочки, работа с БД
— Java
— C, C++
— Python
— Bashscripts
— SQL
Средства балансировки
и веб-сервера
— Nginx
Системы работы с очередями и брокерами сообщений
— IBM MQ
— Apache Kafka
— ZeroMQ
Используемые технологии и инструменты

Команда
Наша команда нагрузочного тестирования включает более 30 высококлассных специалистов.

Мы прекрасно знакомы с основными инструментами, которые применяются в данном виде тестирования — Apache JMeter, MF LoadRunner, Gatling и другими.

Специалисты компании обладают сертификатами подтверждения профессионального уровня: ISTQBCTFL, LoadRunner 12.5 ASP, JavaSE и др.

Вас что-то заинтересовало?
Оставьте нам свои контакты, и мы предложим вам индивидуальное решение