1С тест производительности: Стандартный нагрузочный тест

Содержание

Стандартный нагрузочный тест

Стандартный нагрузочный тест предназначен для оценки производительности серверного оборудования и программного обеспечения в так называемых «Стандартных пользователях 1С». Основная область применения данного теста — выбор конфигурации серверного оборудования и программного обеспечения для целей конкретного внедрения.

Решаемые задачи

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

Что оценивает тест

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

То есть полученная оценка отражает не производительность какого-то одного серверного компонента системы (например, рабочего сервера кластера «1С:Предприятия»), а всей серверной конфигурации в целом. Серверная часть системы, производительность которой измеряется данным тестом, включает в себя:

  • все рабочие серверы, использованные для развертывания кластера «1С:Предприятия» и серверы СУБД
  • операционные системы всех рабочих серверов;
  • настройки операционных систем, «1С:Предприятия» и СУБД.

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

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

Если серверная часть системы недостаточно хорошо сбалансирована для работы с «1С:Предприятием», то при устранении узкого места (замене или апгрейде наименее производительного компонента) можно будет получить более высокую оценку производительности.

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

Как работает тест

Стандартный нагрузочный тест представляет собой информационную базу «1С:Предприятия 8.2» с конфигурацией, основанной на «Управлении производственным предприятием». Конфигурация объединена с «Тест-центром 2.0», в состав которого включен один сценарий тестирования.

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

Тестирование производительности 1С на MS Server SQL 2012, 2014, 2019

Каждому ИТ-специалисту известно, что

уровень производительности базы 1С зависит от:

  • Уровня оборудования серверной платформы
  • Частоты центрального процессора
  • Частоты и объема оперативной памяти
  • Быстродействия подсистемы ввода\вывода — тип жестких дисков, порядок массива RAID, количество генерируемых IOPS, очередь к дискам
  • Рекомендуемых настроек сервера 1С:Предприятие
  • Тонкой регулировки сервера СУБД MS SQL — баланс потребляемых ресурсов, распределение технических баз по логическим массивам, регламентные операции и т. д. (см. подробнее о настройках оптимизации 1С)

Помимо указанных ключевых параметров, наши ИТ-специалисты заметили, что довольно часто на показатели производительности влияют версии экземпляров MS SQL. Наша команда решила провести серию практических нагрузочных тестов и выяснить зависимость быстродействия баз 1С от версии используемого программного обеспечения MS SQL на выделенном тестовом стенде (см. Таблица 1).

В наших испытаниях мы опираемся на два метода синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и тест 1С «Тест центр» из инструментария 1С:КИП со специальными сценариями работы, запущенный на 50 пользователей.

На текущий момент мы предлагаем возможность провести бесплатный тест производительности базы 1С в нашем эталонном облаке.

Тест Гилева (TPC-1C)

Тест принадлежит к разделу универсальных кроссплатформенных нагрузочных тестов. Он может использоваться как для файлового, так и для клиент-серверного архитектур 1С:Предприятие. Тест измеряет количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость прорисовки интерфейса, влияния ресурсных затрат, перепроведения документов, процедур закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать суммарную оценку производительности, не привязываясь к одной конфигурации платформы. Результатом теста является тотальная оценка измеряемой системы 1С, выраженная в условных единицах.

Специализированный тест из инструментария «Тест центр» 1С: КИП

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

В результате объединения к метаданным тестируемой базы будут добавлены объекты и общие модули, необходимые для работы Тест-центра.

Рисунок 1 — Схема интеграции тест-центра

Таким образом, используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С — программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации – Заявка на расходование средств, Заказ поставщику, Реализация товаров и услуг и т.д. При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.

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

  • Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
  • Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
  • Количество документов – определяет объем формируемых тестовых документов
  • Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
  • Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы

Методика тестирования

Тесты выполняются в 3 итерациях, результаты записываются в таблицу.

Таким образом, полученные итоги тестирования, измеряемые в секундах, наиболее реалистично и объективно отражают уровень производительности баз 1С в условиях, максимально приближенных к реальным (см. таблицу 2).

Таблица 1. Технические характеристики тестового стенда.

Роль системы CPU\vCPU RAM, Гб Дисковая система ввода\вывода
Сервер 1С + СУБД Intel Xeon E5-2667 v4
8 ядер
30 Гб Intel SSD Raid10
Программное обеспечение
  • Microsoft Windows Server 2016 Standart
  • Microsoft SQL Server
  • Сервер 1C:Предприятие 8.3.14.1694
Конфигурации 1С
  • Однопоточный синтетический тест платформы 1С:Предприятие + Многопоточный тест записи на диск (2. 1.0.7) Гилёв Вячеслав Валерьевич Размер 0,072 Гб
  • Платформа: 1С:Предприятие 8.3 (8.3.14.1694) Конфигурация: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.52.39) Режим: Серверный (сжатие: усиленное) Приложение: Тонкий клиент Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия) Вариант интерфейса: Такси Размер 9,2 Гб
  • Платформа: 1С:Предприятие 8.3 (8.3.14.1694) Конфигурация: Управление торговлей, редакция 11 (11.3.4.21) Режим: Серверный (сжатие: усиленное) Приложение: Тонкий клиент Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия) Вариант интерфейса: Такси Размер 11,8 Гб

Результаты тестирования

Таблица 2.1. Результаты тестирования с помощью теста Гилева (TPC-1C).

Показатели теста Гилева \ Версия SQL Sql 2012 Sql 2014 Sql 2019
Итерация 1 21,74 17,24 26,46
Итерация 2 18,94 17,30 23,04
Итерация 3 19,53 17,30 20,49
Среднее значение 20,07 17,28 23,33

Таблица 2.2. Результаты тестирования с помощью специального теста 1С:КИП.

Перечень тестов на 50 пользователей (средний результат по итогам 3 итераций) SQL 2012 SQL 2014 SQL 2019
Проведение тестов 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия
Оборотно сальдовая ведомость 3,478 3,862 2,776
Проведение возврата товаров от покупателей 0,844 0,859 0,854
Проведение платежных поручений 0,110 0,147 0,262
Проведение ПТИУ 0,691 1,027 0,674
Проведение реалиизации товаров и услуг 0,801 0,786 0,885
Проведение счета на оплату 0,081 0,086 0,119
Расчет калькуляций себестоимости 0,688 0,674 0,679
Проведение тестов 1С:КИП на существующей базе, конфигурация Управление Торговлей
Проведение и возврат от клиента 2,817 3,182 3,089
Проведение и возврат товаров поставщику 2,751 2,423 11,949
Проведение заказа клиента 0,522 0,622 0,469
Проведение пересчета товаров 0,222 0,281 0,181
Проведение поступления ТУ 1,957 2,300 2,118
Проведение реализации ТУ 2,670 2,554 1,916
Проведение РКО 0,914 1,191 0,898

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

1

В однопоточном тесте TPC-1C победителем является платформа MS SQL 2019, возможно в новой версии оптимизирована потоковое чтение\запись в таблицы.

2

В специальных сценариях 1С: КИП на базе конфигурации Бухгалтерия Предприятия, как ни странно — лучший результат показал проверенный MS SQL 2012. Который до сих пор остается наиболее популярным вариантом в производственных средах и типовых Облаках 1С.

3

Тест 1С: КИП на базе конфигурации Управление Торговлей показал преимущество в скорости самой новой версии MS SQL 2019. Это значит, что данная версия действительно имеет потенциал стать качественным, надежным, работоспособным вариантом СУБД для массового использования

Читайте также наши статьи по теме производительности 1С:

  • Сравнение производительности 1С на платформах MS Server (SQL) и Unix (PostgreSQL)
  • Тестирование производительности 1С на СУБД MS SQL и PostgreSQL (50, 100 и 200 пользователей)
  • Повышение производительности 1С при увеличении пропускной способности SAN-сети

Мы готовы предложить перечень услуг по ускорению 1С:

  • Аудит производительности 1С
  • Оптимизация 1С (комплекс)
  • Аренда сервера 1С (переезд локальной 1С на оптимизированный сервер)

EFSOL

*

Фамилия, имя, отчество:

Как к Вам обращаться?

 

  

Название организации:

Нужно нашим специалистам

 

  

Ваш E-mail адрес:

Необходим для обратной связи и оповещений

 

*

Ваш номер телефона:

Введите код и номер телефона

 

* Антиробот:

Введите ответ

Закажите звонок специалиста!

Закажите звонок специалиста!

*нажимая на кнопку, Вы даете согласие на обработку персональных данных

*нажимая на кнопку, Вы даете согласие на обработку персональных данных

Наш специалист свяжется с Вами в ближайшее время

Что такое тестирование производительности и различные типы тестирования производительности

Содержание

  • Учебное пособие по тестированию программного обеспечения

    • Индекс
  • Программное обеспечение

    • Тестирование программного обеспечения
    • .
    • Спецификация тестового примера
    • Тестовый сценарий
  • Процесс тестирования

    • Модель V
    • Модель RAD
    • Модель-прототип
  • Уровни тестирования

    • Функциональное тестирование

      • Функциональное тестирование
      • ЕДИНИЦА
      • Интеграционные тестирование
      • Тестирование дыма
      • Тестирование в области санита Сквозное тестирование
    • Нефункциональное тестирование

      • Тестирование производительности
      • Нагрузочное тестирование
      • Стресс-тестирование
      • Что такое юзабилити-тестирование?
      • Security Testing
      • Reliability Testing
  • Testing Methods

    • Black Box Testing
    • White Box Testing
    • Gray Box Testing
  • Dynamic Testing Technique

    • Dynamic Testing
    • Specification Based Тестирование
  • Методика статического тестирования
  • Versus-Vs

    • Дым против тестирования здравомыслия
    • Белая коробка против черной коробки Тестирование
    • Функциональное против нефункционального тестирования
    • Положительное против отрицательного тестирования
    • Статическое тестирование против динамического тестирования
    • Серьезность против качества качества по сравнению с качеством. Качество качества по качеству по качеству по качеству по качеству по качеству по качеству по качеству против качества. Гарантия
    • Ошибки и ошибки
    • Производительность, нагрузочное и стресс-тестирование
  • Управление тестированием

    • Жизненный цикл дефектов
    • Непрерывная интеграция
    • Управление конфигурацией
  • Условия тестирования

    • Специальное тестирование
    • Отчет об инциденте и инциденте

Категория: Тестирование программного обеспечения , 7 июля 2021 г.

0

0

3 минуты чтения

Автор

Лакшай Шарма

Рецензенты

Вирендер Сингх

Предыдущий урок

Что означает сквозной тест?

Следующий урок

Нагрузочное тестирование

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

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

Тестирование производительности  является типом  Нефункциональное тестирование . Он стремится внедрить стандарты производительности в реализацию, дизайн и архитектуру системы.

Атрибуты тестирования производительности: скорость, масштабируемость, стабильность и надежность.

2 Инструменты тестирования производительности: Jmeter , Open STA , 2 Нагрузка , 22222223.

Разница между производительностью, нагрузочным и стресс-тестированием

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

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

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

Методы тестирования производительности:

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

Стресс-тестирование:   Выполняется для определения верхнего предела мощности системы, а также для определения того, как система работает, если текущая нагрузка значительно превышает ожидаемый максимум. Узнать больше

Юзабилити-тестирование:  Тестирование для определения того, насколько программный продукт понятен, прост в освоении, эксплуатации и привлекателен для пользователей при определенных условиях. Узнать больше

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

Тестирование переносимости:  Надежность программного обеспечения — это вероятность того, что программное обеспечение будет работать должным образом в определенной среде и в течение заданного периода времени. Узнать больше

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

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

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

Поделиться этой публикацией:

Что означает сквозной тест?

Предыдущая статья

Нагрузочное тестирование

Следующая статья

Автор: Лакшай Шарма

Я ЛАКШАЙ ШАРМА, И Я ИНЖЕНЕР ПО АВТОМАТИЗАЦИИ ПОЛНОГО СОСТАВА. Прошло 16 лет, играя с автоматизацией в гигантских проектах, таких как O2 (Великобритания), Sprint (США), TD Bank (Калифорния), Canadian Tire (Калифорния), NHS (Великобритания) и ASOS (Великобритания). В настоящее время я работаю в RABO Bank в качестве руководителя отдела обеспечения качества. Я увлечен разработкой платформ автоматизации, которые следуют концепциям OOPS и шаблонам проектирования.

Подпишись на меня LinkedIn

Рецензенты

Вирендер Сингх

Тестирование переходов состояний

Автор Harish Rajora

Чтение за 9 мин.

Что такое тестирование переходов состояний в тестировании программного обеспечения? Как сделать диаграмму перехода состояний и таблицу с практическими примерами.

Угадывание ошибок

Автор Faisal Khan

5 мин чтения

Методы угадывания ошибок генерируют тестовые примеры, которые не фиксируются формальными методами. Что такое угадывание ошибок при тестировании программного обеспечения?

Жизненный цикл разработки программного обеспечения

Лакшай Шарма

Чтение за 5 минут

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

Базовый уровень ISTQB 2018

Лакшай Шарма

Чтение: 1 мин.

Базовый уровень ISTQB — ISQTB Учебник по подготовке учебного плана. Образцы экзаменов, ответы на вопросы, онлайн-симулятор экзамена ISTQB.

Принципы тестирования программного обеспечения

Автор: Лакшай Шарма

Чтение за 6 мин.

Риск при тестировании программного обеспечения

Лакшай Шарма

7 минут чтения

В этой статье мы рассмотрим — Что такое риск при тестировании программного обеспечения? Размеры риска наряду с различными уровнями риска.

Анализ граничных значений — метод тестирования черного ящика

Лакшай Шарма

Чтение за 7 минут

Что такое анализ граничных значений и BVA? Как провести анализ граничных значений с примерами? В чем его подводные камни и как выполнять БВА?

Психология тестирования

Лакшай Шарма

Чтение: 8 мин.

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

Ошибка, дефект и сбой

Лакшай Шарма

10 минут чтения

В этой статье мы попытаемся понять взаимосвязь между ошибкой, дефектом и сбоем, а также причины ошибок в программном обеспечении

Почему необходимо тестирование?

Лакшай Шарма

6 минут чтения

Зачем необходимо тестирование? Мы попытались расшифровать этот вопрос, который может показаться банальным, но по-прежнему актуален в сегодняшнем мире QA

.

типов тестирования производительности, шагов, рекомендаций и показателей

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

В этой статье вы узнаете:

  • Типы тестирования производительности
  • Шаги по проведению тестирования производительности
  • Показатели тестирования производительности
  • И лучшие практики тестирования программного обеспечения

Типы тестирования производительности программного обеспечения

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

Нагрузочное тестирование

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

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

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

Пиковое тестирование

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

Тестирование на выносливость

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

Тестирование масштабируемости

Тестирование масштабируемости используется для определения того, эффективно ли программное обеспечение справляется с растущими рабочими нагрузками. Это можно определить путем постепенного увеличения пользовательской нагрузки или объема данных при мониторинге производительности системы. Кроме того, рабочая нагрузка может оставаться на том же уровне при изменении ресурсов, таких как ЦП и память.

Объемное тестирование

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

Наиболее распространенные проблемы, наблюдаемые при тестировании производительности

Во время тестирования производительности программного обеспечения разработчики ищут симптомы и проблемы с производительностью. Проблемы со скоростью — например, медленные ответы и длительное время загрузки — часто наблюдаются и устраняются. Могут наблюдаться и другие проблемы с производительностью:

  • Узкие места — это происходит, когда поток данных прерывается или останавливается из-за нехватки ресурсов для обработки рабочей нагрузки.
  • Плохая масштабируемость — Если программное обеспечение не может обрабатывать желаемое количество одновременных задач, результаты могут быть задержаны, количество ошибок может увеличиться или может произойти другое непредвиденное поведение, которое влияет на:
    • Использование диска
    • Использование ЦП
    • Утечки памяти
    • Ограничения операционной системы
    • Неверная конфигурация сети
  • Проблемы с конфигурацией программного обеспечения — Часто параметры не установлены на достаточном уровне для обработки рабочей нагрузки.
  • Недостаточно аппаратных ресурсов — Тестирование производительности может выявить ограничения физической памяти или низкопроизводительные процессоры.

Семь шагов тестирования производительности

Изображение предоставлено Gateway TestLabs

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

1. Определите тестовую среду.

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

  • Подмножество производственной системы с меньшим количеством серверов более низкой спецификации
  • Подмножество производственной системы с меньшим количеством серверов той же спецификации
  • Реплика производственной системы
  • Фактическая производственная система

2.

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

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

3. Планирование и разработка тестов производительности.

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

4. Настройте тестовую среду.

Подготовка элементов тестовой среды и инструментов, необходимых для мониторинга ресурсов.

5. Реализуйте свой дизайн теста.

Разработка тестов.

6. Выполнение тестов.

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

7. Анализ, отчет, повторное тестирование.

Проанализируйте данные и поделитесь результатами. Запустите тесты производительности еще раз, используя те же параметры и другие параметры.

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

Показатели необходимы для понимания качества и эффективности тестирования производительности. Улучшения не могут быть сделаны, если нет измерений. Два определения, которые необходимо объяснить:

  • Измерения — Собираемые данные, такие как количество секунд, необходимых для ответа на запрос.
  • Показатели — Расчет, в котором используются измерения для определения качества результатов, таких как среднее время ответа (общее время ответа/запросы).

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

Время ответа

Общее время отправки запроса и получения ответа.

Время ожидания

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

Среднее время загрузки

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

Пиковое время отклика

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

Частота ошибок

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

Параллельные пользователи

Это наиболее распространенный показатель нагрузки — сколько активных пользователей в любой момент. Также известен как размер нагрузки.

Запросов в секунду

Количество обработанных запросов.

Transactions Passed/Failed

Измерение общего количества успешных или неудачных запросов.

Пропускная способность

Пропускная способность, измеряемая в килобайтах в секунду, показывает объем пропускной способности, использованной во время теста.

Загрузка ЦП

Сколько времени ЦП требуется для обработки запросов.

Использование памяти

Сколько памяти необходимо для обработки запроса.

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

Возможно, самый важный совет по тестированию производительности — проводить тестирование как можно раньше, тестировать чаще. Один тест не расскажет разработчикам все, что им нужно знать. Успешное тестирование производительности — это набор повторяющихся и небольших тестов:

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

Изображение предоставлено Варуном Капаганти

Помимо повторного тестирования, тестирование производительности будет более успешным, если следовать ряду передовых методов тестирования производительности:

  • Привлекайте разработчиков, ИТ-специалистов и тестировщиков к созданию среды тестирования производительности.
  • Помните, что реальные люди будут использовать программное обеспечение, которое проходит тестирование производительности. Определите, как результаты повлияют на пользователей, а не только на серверы тестовой среды.
  • Выход за пределы параметров проверки производительности. Разработайте модель, спланировав тестовую среду, максимально учитывающую действия пользователей.
  • Базовые измерения служат отправной точкой для определения успеха или неудачи.
  • Тесты производительности лучше всего проводить в тестовых средах, максимально приближенных к производственным системам.
  • Изолировать среду тестирования производительности от среды, используемой для тестирования обеспечения качества.
  • Ни один инструмент для тестирования производительности не сделает все необходимое. А ограниченные ресурсы могут еще больше ограничить выбор. Исследуйте инструменты для тестирования производительности, чтобы найти подходящие решения.
  • Сохраняйте тестовую среду как можно более последовательной.
  • Расчет средних значений позволит получить действенные показатели. Также полезно отслеживать выбросы. Эти экстремальные измерения могут выявить возможные сбои.
  • Учитывайте аудиторию при подготовке отчетов, содержащих результаты тестирования производительности. Кроме того, включайте в отчеты любые системные и программные изменения.

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

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

  1. Недостаточно времени для тестирования.
  2. Без участия разработчиков.
  3. Не используют систему обеспечения качества, аналогичную производственной системе.
  4. Недостаточная настройка программного обеспечения.
  5. План устранения неполадок отсутствует.

Ошибки при тестировании производительности

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

Тестирование производительности — последний шаг в разработке.

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

Дополнительное оборудование может решить проблемы с производительностью.

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

Среда тестирования достаточно близка.

Проведение тестирования производительности в тестовой среде, аналогичной производственной среде, является передовым методом тестирования производительности по определенной причине. Различия между элементами могут существенно повлиять на производительность системы. Может оказаться невозможным провести тестирование производительности в точной производственной среде, но постарайтесь сопоставить: 

  • Аппаратные компоненты
  • Операционная система и настройки
  • Другие приложения, используемые в системе
  • Базы данных

То, что работает сейчас, работает повсеместно.

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

Достаточно одного сценария тестирования производительности.

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

Проверка каждой детали означает проверку всей системы.

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

Что работает для них, работает для нас.

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

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

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

Тест полной нагрузки говорит все.

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

Тестовые сценарии являются реальными пользователями.

Убедитесь, что автоматизация тестирования использует программное обеспечение так, как это сделали бы реальные пользователи. Это особенно важно при изменении параметров теста производительности.

Тестирование производительности и тестирование программного обеспечения с помощью Stackify

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

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

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

Попробуйте бесплатный профилировщик кода Stackify, Prefix, чтобы писать более качественный код на своей рабочей станции. Префикс работает с .NET, Java, PHP, Node.js, Ruby и Python.

Дополнительные ресурсы по тестированию производительности

  • Руководство по тестированию производительности веб-приложений (Microsoft)
  • Пакет контрольного списка тестирования производительности (SmartBear PDF)
  • «Идеальное программное обеспечение и другие иллюзии о тестировании» (Книга Джерри Вайнберга)
  • Загрузить Инструменты тестирования: 50 полезных инструментов для нагрузочного тестирования веб-сайтов, приложений и многого другого (Stackify)
  • Информационный бюллетень Tester (специальный интерес в области тестирования программного обеспечения (SIGIST))
  • Программное обеспечение программного обеспечения (TechTarget)
  • О авторе
  • Последние посты

к тестированию производительности и тестированию программного обеспечения: типы тестирования, этапы тестирования производительности, рекомендации и многое другое — 10 марта 2023 г.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *