Контролируемое тестирование качества работы вашей системы, при котором определяется ее производительность, стабильность и другие нефункциональные показатели под высокой нагрузкой в течение определенного времени. По итогу вы получаете детальный отчет и план реализации.
Оставить заявку
Наши партнеры
Что мы тестируем
Backend (серверная часть)
Frontend (клиентская часть)
RIA-приложения
SPA-приложения
Веб-приложения
информационные
коммерческие
корпоративные
высоконагруженные
Сайты
ERP-системы c web-интерфейсом
CRM-системы c web-интерфейсом
другие ИТ-системы, которые могут использоваться под высокой нагрузкой
ИТ-системы
Мы можем проверить любое веб-приложение, сайт или КИС на соответствие нефункциональным требованиям: производительность, стабильность, масштабируемость, стрессовая нагрузка и отказоустойчивость.
Цель нагрузочного тестирования
Тестовая проверка системы нужна для того, чтобы понять причины замедлений в ее работе или узнать, какие нагрузки выдерживает новая разработка (определить запас прочности веб-приложения, инфраструктуры, сайта и других ИТ-продуктов).
Для этого мы определим источники нагрузки, составим модель тестирования, настроим мониторинг работы серверов. Также проверим различия по метрикам в разных режимах работы системы, разработаем скрипты, моделирующие нагрузку, и эмуляторы смежных систем.
Расскажите нам о вашей задаче
Мы проведем анализ, пообщаемся о ваших целях и предложим наиболее эффективное решение.
Определим максимальную производительность системы на имеющемся у заказчика оборудовании. Используем метод максимального и оптимального количества пользователей.
Проверим отсутствие утечек памяти на сервере и его стабильную работу в течение длительного времени. Это особенно важно для систем, работающих 24/7.
Стрессовое тестирование (Stress Testing)
Проверим стрессоустойчивость системы. Может ли она сама восстановить свою работоспособность даже после всплесков нагрузки, например, при наплыве клиентов в «черную пятницу»?
Объемное тестирование (Volume Testing)
Проверим масштабируемость системы. Определим, как повлияет добавление еще одного сервера или оперативной памяти на увеличение числа пользователей системы.
В каких случая необходимо проводить нагрузочное тестирование ИТ-систем
1
Сомневаетесь, что обновление ПО не приведет к деградации производительности
Вам нужно быть уверенными в том, что нововведения не снизят скорость работы вашей инфраструктуры или приложения.
2
Планируете изменить архитектуру или внести существенные изменения в функциональность высоконагруженной системы
Возможно, при этом нагрузки увеличатся и надо быть готовыми к масштабированию инфраструктуры.
3
Не знаете, какое оборудование необходимо для размещения новой ИТ-системы
Для того, чтобы приобретать аппаратуру, надо понимать, с какими нагрузками она будет работать — от этого зависит выбор.
4
Собираетесь централизовать несколько систем.
Для того, чтобы объединить несколько разрозненных систем в одно информационное поле с централизованным управлением, надо также убедиться в предельных возможностях имеющейся инфраструктуры. Это и позволяет оценить нагрузочное тестирование.
5
Планируете открыть новые филиалы и подключить их к единой системе?
Достаточно ли для этого имеющихся мощностей? Недостаточная производительность инфраструктуры может привести к большим убыткам.
6
Планируете запуск новых сервисов, которые приведут к увеличению текущей нагрузки
Нужно убедиться в том, что нагрузка от новых сервисов не скажется на быстродействии и надежности работы системы или в том, что точно скажется и требуется масштабирование инфраструктуры.
7
Собираетесь принять в эксплуатацию новую ИТ-систему, с которой будет работать большое количество пользователей
Важно понимать, справится ли существующая инфраструктура с новой системой или потребует масштабирования.
8
Ожидаете сезон высоких продаж или готовите запуск масштабной рекламной кампании, что вызовет резкое увеличение нагрузки на систему
Нагрузочное тестирование покажет, сколько пользователей могут взаимодействовать с системой единовременно и сколько ресурсов необходимо добавить для планируемых всплесков нагрузки.
9
Хотите понять возможности существующей системы, узнать предельно допустимую нагрузку
Позволяет быть в курсе реальных показателей системы, благодаря чему безошибочно планировать ресурсоемкие мероприятия и принимать соответствующие бизнес-решения.
Этапы проведения нагрузочного тестирования для клиента
1
01
Анализ системы (или внесенных в нее изменений)
2
02
Подготовка или актуализация модели нагрузки и методики тестирования
3
03
Подготовка или обновление стенда для тестирования
4
04
Разработка или актуализация скриптов нагрузочного тестирования, «заглушек», скриптов генерации тестовых данных
5
05
Настройка мониторинга на стенде нагрузочного тестирования
6
06
Сборка и отладка всего, что разработали, на стенде нагрузочного тестирования
7
07
Проведение контролируемых нагрузочных тестов на продуктивной среде
8
08
Анализ результатов тестов
9
09
Подготовка отчетности
Хотите получить образец отчета?
Оставьте заявку и мы отправим вам пример отчета в ближайшие 24 часа
Инструменты и сценарии для нагрузочного тестирования
Итак, нагрузочное тестирование бывает разным и применяется с разными целями. Перед тем, как производить тестирование системы под нагрузкой, мы составляем сценарии, имитирующие разные типы пользовательского поведения. Для этого производим анализ поведения пользователей в системе и составляем эскизы сценариев вначале на человеческом языке. Такие эскизы помогают ревьюерам и другим специалистам увидеть, какое поведение смоделировано в данном тесте без погружения в код, детализировать требования, подобрать необходимые инструменты.
Сценарии для нагрузочного тестирования могут включать все возможные для данной системы роли и ключевые операции. Оптимальным подходом мы считаем использование в сценариях 20% тех операций, которые создают 80% нагрузки на проверяемую систему. Примеры сценариев нагрузочного тестирования: прохождение пользовательского пути от регистрации до выполнения целевого действия; подача анонимного трафика на страницы информационной системы; проверка системы на выдерживание определенного количества запросов; имитация аварийной ситуации.
Для выполнения этих и других сценариев нагрузочного тестирования в зависимости от задач наши инженеры используют следующие инструменты:
Почему лучше доверить тестирование нам?
В отличие от ручного функционального тестирования и автотестов нагрузочное тестирование требует знаний на стыке сразу нескольких дисциплин. Чтобы разобраться со специфическими нефункциональными требованиями к системе и составить модель тестирования, нужно иметь навыки в области построения архитектуры системы, функциональных блоков и связей между ними, а также в области системной аналитики. Чтобы написать моделирующие нагрузку скрипты, всевозможные эмуляторы и генераторы нагрузки, надо разбираться в программировании. Для проведения тестирования нагрузки разнообразных систем важно уметь разбираться в самых современных утилитах. Плюс к этому нужно быть специалистом в области администрирования серверов и баз данных, операционных систем и инструментов мониторинга.
Таким образом, для выполнения задачи нагрузочного тестирования нужен либо очень дорогой универсальный специалист (full-stack тестировщик), либо несколько узких экспертов, что может сильно повлиять на стоимость процесса.
Мы предлагаем услугу аутсорсинга процесса нагрузочного тестирования, которая в большинстве случаев будет для вас более предпочтительной с точки зрения экономии ресурсов. Наша команда обладает всеми необходимыми навыками и опытом для успешного проведения нагрузочного тестирования, среди которых:
умение составлять техническую документацию
умение писать необходимые скрипты на различных языках, позволяющих решить необходимую задачу наиболее оптимальным способом;
навыки администрирования серверов приложения и баз данных, включая настройку стенда нагрузочного тестирования, сбор логов и статистики
навыки установки и поддержки средств мониторинга (без сбора информации о состоянии системы под нагрузкой ценность тестирования сводится к минимуму);
понимание архитектуры различных интеграционных решений и сетевых технологий для построения модели нагрузки с учетом всех ее источников по различным протоколам обмена;
знание основ математической статистики, необходимых для обработки статистики, расчета профиля нагрузки и обработки результатов тестов.
Оставить заявку для нагрузочного тестирования
Наш специалист свяжется с вами для детального обсуждения задачи