Пока нет оценок.
Пожалуйста, подождите...

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

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

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

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

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

Проверка параметров функционирования системы возможна на основе:

  1. Анализа допустимой величины числа пользователей ПО;
  2. Фиксирования времени выполнения определенной операции со стороны системы;
  3. Анализа допустимых границ производительности ПО при разных уровнях нагрузки.

Тестирование на производительность включает в себя такие типы работ:

  • Тестирование нагрузки;
  • Стрессовое тестирование;
  • Проверка стабильности;
  • Конфигурационное тестирование.

Давайте кратко проанализируем все подвиды тестирования производительности. Начнем с нагрузочного.

Тестирование нагрузки

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

Во время такого тестирования проверяется поведение ПО при большой системной нагрузке.

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

Подобный вид тестирования поможет определить максимальное значение временного отклика при важных бизнес-операциях. Проводя анализ поведения БД (базы данных) и сети, в будущем можно будет найти слабые места в ПО и успешно их «отремонтировать».

Конфигурационное тестирование

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

При таком тестировании фиксируются текущие параметры производительности ПО на средних и высоких (допустимых) значениях системной нагрузки.

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

Простым и понятным видом такого тестирования может стать проверка веб-сайта на устройствах с флагманской операционной «начинкой» (iPhone 11 Pro или Samsung S20) и смартфонах, которые были выпущены пару лет назад (например, Lenovo A76 или Samsung Galaxy J6).

С такими тестами можно найти самую корректную (оптимальную) конфигурацию для стабильной работы с ПО или другим веб-продуктом.

Еще можно проверить сайт на мобильных операционных системах или настольных версиях наиболее популярных ОС.

Стрессовое тестирование

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

Данная проверка позволяет определить, как именно функционирует система и приложение при самых нестандартных условиях, а также дает возможность оценить может ли тестируемая система продолжать работать сразу же после наступления нестандартных (нештатных) ситуаций.

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

Выполнение стрессового тестирования можно проводить не только с ПО, но и с простым локальным компьютером, чтобы на простых вещах понять, как это работает.

Так, например, при подобных проверках можно попробовать нагрузить процессор, оперативную память и тому подобное.

Для тестирования процессора можно использовать команды консоли, которые нагружают все ядра, к примеру:
stress-ng —class cpu —sequential 8 —timeout 60s —metrics-brief

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

Для проверки оперативной памяти можно использовать разные консольные команды, к примеру:
stress-ng —class memory —sequential 8 —timeout 60s —metrics-brief

Проверка стабильности

Позволяет проверить насколько долго ПО может работать стабильно на уровне средней нагрузки системы.

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

Есть много программ и приложений которые позволяют выполнить качественное тестирование стабильности. К примеру,  инструмент Apache Bench, который может посылать нужное количество запросов и сумму потоков этих самих запросов.

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

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

Популярные инструменты для тестирования производительности

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

Далее приведем список некоторых из тех, которые являются на сегодняшний день самыми востребованными.

  1.  LoadView – очень востребованный инструмент в сфере тестирования производительности. Наиболее популярными параметрами данного ПО являются: работа со сценариями «point and click», большая облачная инфраструктура, проверки в реальных веб-браузерах;
  2. Apache JMeter – инструмент для выполнения разнообразных сценариев нагрузочного тестирования. Продукт содержит механизмы регистрации виртуальных пользователей, которые могут оперировать заданными программой пользовательскими сценариями;
  3.  MSI Afteburner – инструмент, который отображает разные характеристики наложенными одна на другую  и следит за потреблением системных ресурсов со стороны проверяемого ПО;
  4.  FPS Meter – демонстрирует цифры ФПС (сумма кадров за 1 секунду) поверх окон в любом ПО или компьютерной игре;
  5.  GameBench – позволяет просматривать нагрузки на систему со стороны игры.

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

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

Оставить комментарий