Поделиться через


Моделирование ожидаемого реального использования веб-сайта или приложения в нагрузочном тесте с помощью модели тестовых наборов

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

Улучшения модели тестового набора

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

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

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

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

  • На основе пользовательского темпа. В ходе нагрузочного теста каждый веб-тест производительности или модульный тест запускается определенное число раз в час для каждого пользователя. Эту модель тестового набора следует использовать, если виртуальные пользователи должны запускать тесты с определенной скоростью на протяжении нагрузочного теста. Дополнительные сведения см. в разделе Установка скорости для тестового набора.

    Совет

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

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

Процент, основанный на количестве запущенных тестов

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

  • TestA (50%)

  • TestB (35%)

  • TestC (15%)

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

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

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

Установка скорости для тестового набора

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

  • TestA: 4 теста на пользователя в час

  • TestB: 2 теста на пользователя в час

  • TestC: 0,125 теста на пользователя в час

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

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

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

Для свойства Применить распределение для задержки шага в сценарии тестовой нагрузки можно задать значение true или false.

  • True. В сценарии будет применяться обычное статистическое распределение задержки, определяемой значением столбца Тестов на пользователя в час в диалоговом окне "Изменение запусков". Дополнительные сведения см. в разделе Изменение моделей тестовых наборов для указания вероятности запуска теста виртуальным пользователем.

    Предположим, например, что для значения Тестов на пользователя в час в диалоговом окне "Изменение запусков" для теста заданы 2 пользователя в час. Если для свойства Применить распределение для задержки шага задано значение True, то ко времени ожидания между двумя тестами применяется обычное статистическое распределение. Тестирование будет по-прежнему выполняться со скоростью двух тестов в час, однако задержка между ними не обязательно составит 30 минут. Первый тест может быть запущен через 4 минуты, а второй — через 45 минут.

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

    Предположим, например, что для значения Тестов на пользователя в час в диалоговом окне "Изменение запусков" для теста заданы 2 пользователя в час. Если для свойства Применить распределение для задержки шага задано значение False, никакие отклонения при выполнении тестов, как правило, не допускаются. Тест будет запускаться каждые 30 минут. Это гарантирует выполнение двух тестов в час.

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

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

Если выбрать параметр "На основе последовательного порядка тестов", каждый виртуальный пользователь выполняет все тесты в сценарии в том порядке, в котором они определены.

Свойство "Итерации теста"

В свойствах "Параметры запуска" можно указать значение свойства "Итерации теста". Это значение соответствует числу итераций теста в нагрузочном тесте. После запуска указанного числа итераций теста никакие дополнительные итерации выполняться не будут, вне зависимости от параметров профилей нагрузки. По завершении указанного числа итераций теста нагрузочный тест заканчивается. Дополнительные сведения см. в разделе Практическое руководство. Указание числа повторов теста в параметрах выполнения нагрузочного теста.

Инициализация и прекращение тестов

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

  • Инициализация теста. Этот тест выполняется каждым виртуальным пользователем до выполнения каких–либо других тестов из тестового набора.

  • Прекращение теста. Этот тест выполняется после того, как будут выполнены все тесты конкретного пользователя.

При инициализации и прекращении теста необходимо учесть следующее.

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

  • Если тест инициализации является модульным тестом или веб-тестом производительности, состояние объектов TestContext или WebTestContext сохраняется после его завершения. Затем этот тест будет использоваться в качестве исходного контекста для итерации тестов в тестовом наборе.

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

См. также

Задачи

Практическое руководство. Создание нагрузочных тестов с помощью мастера тестовой нагрузки

Другие ресурсы

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

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

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

Изменение шаблонов нагрузки для моделирования действий виртуальных пользователей

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

Настройка параметров запуска нагрузочных тестов

Свойства сценария тестовой нагрузки