Тестирование производительности

Комплексная проверка на всех этапах жизненного цикла ПО

pic2

Оценка поведения продукта под ожидаемой нагрузкой

Задачей нагрузочного тестирования является определение масштабируемости приложения под нагрузкой. При этом происходит:

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

pic1

Определение предельной нагрузки ПО и оценка устойчивости системы при пиковых нагрузках

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

pic3

Анализ работоспособности продукта при длительном тестировании с ожидаемым уровнем нагрузки

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

pic4

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

Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения, при этом происходит:

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

Зачем нужно нагрузочное тестирование

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

Поэтапное нагрузочное тестирование

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

Этапы:

  1. Изучение объекта тестирования. Всесторонний анализ ограничений и требований позволяет разработать эффективную методику тестирования. При нагрузочном тестировании многое зависит от ожидаемой нагрузки на программный продукт и его функциональность, которая будет находиться под нагрузкой.
  2. Планирование и подготовка. На этом этапе разрабатывается методика тестирования, профиль нагрузки.
  3. Настройка тестового окружения. Нагрузочное тестирование серверов требует предварительной подготовки данных, настройки параметров работы генераторов нагрузки, системы мониторинга и других элементов.
  4. Разработка скриптов тестирования. Проводится с учетом бизнес-требований к продукту.
  5. Запуск тестов производительности. В ходе тестирования анализируется работа приложения в разных условиях, выявляются дефекты.
  6. Анализ полученных данных, разработка отчетов.
feature1

Результаты проверки

Нагрузочное тестирование позволяет найти ответы на следующие вопросы:

  • Как продукт справляется с ожидаемой нагрузкой?
  • Хватает ли аппаратных ресурсов для обработки ожидаемого объема трафика? Проводится анализ состояния вычислительных мощностей.
  • Как быстро сервер реагирует на запросы пользователя? Анализируется скорость выполнения операций. Низкая скорость работы и отказы под нагрузкой снижают эффективность приложения, блокируют его работу, повышают риск потери клиентов.
  • Требуется ли применять масштабирование вычислительных мощностей?
  • Есть ли на сайте ресурсоемкие операции, которые нуждаются в оптимизации?

Сбои в производительности продукта могут негативно сказаться на бизнесе компании. Нагрузочное тестирование ПО – возможность предотвратить сбои в его работе и обеспечить стабильное функционирование всех компонентов. Мы определим актуальные проблемы и выявим скрытые дефекты, которые могут негативно сказываться на работе ПО.

feature2

Мы готовы ответить на любые Ваши вопросы, дать подробную консультацию:

Связаться с нами