Добавление циклов в расписание позволяет многократно повторять тесты с определенной частотой. Если цикл содержит точку синхронизации, точка
синхронизации запускается после первого повторения цикла и останется
запущенной для всех последующих повторений.
Об этой задаче
Расписание, содержащее только группы пользователей и тесты,
выполняет каждый тест в группе пользователей последовательно. Циклы
обеспечивают более сложное управление, чем выполнение простой
последовательности следующих один за другим тестов.
Цикл
может быть задан в расписании или тесте. В следующей таблице представлены
преимущества обоих методов.
Расположение цикла |
Результаты |
Расписание |
Циклы в расписаниях легко найти и изменить. Циклы в расписаниях закрывают соединение с сервером в конце каждой итерации и заново
открывают его в начале следующей итерации. Это действие моделирует поведение
пользователя, закрывающего и вновь открывающего браузер.
Используйте этот метод для выполнения теста с заданной частотой. Дополнительная
информация приведена в разделе Выполнение тестов с установленной скоростью.
|
Тест |
Циклы в тестах могут быть более детальными и за счет этого
обеспечивают более высокий уровень управления. Циклы в тестах повторно используют соединение с сервером во время каждой итерации
цикла.
Используйте этот метод, вместе с циклами с большим количеством итераций, чтобы
более тщательно протестировать сервер.
|
Процедура
Для добавления цикла в расписание выполните следующие действия.
- В панели Навигатор тестов найдите требуемое расписание и
дважды щелкните по нему. Расписание будет открыто.
- Щелкните по элементу, который будет родительским элементом цикла,
и выберите .
- В области Сведения об элементе расписания укажите число
итераций для повторения цикла.
Опция |
Описание |
По числу |
Выполняется в течение выбранного числа итераций. |
По времени |
Выполняется как минимум, в течение указанного времени. Цикл всегда
завершает итерацию. Например, если выбрано время 1 секунда, а
цикл выполняется за 10 секунд, то по завершении одной итерации
цикл проверяет время. |
Без ограничения времени |
Выполняется до тех пор, пока не завершится время выполнения
расписания. Эту опцию удобно использовать для
сбора данных о производительности за определенное время: задайте
бесконечный цикл и настройте прекращение выполнения расписания
через определенное время. |
- Для того чтобы поддерживать заданное число транзакций для
всех элементов расписания, которые являются дочерними элементами
этого цикла, выполните следующие действия.
- Выберите Управление частотой итераций.
- В поле Частота итераций укажите
число и выберите единицы измерения времени. Будет установлена фактическая частота
- Включите или выключите переключатель Произвольное
отклонение задержки между итерациями. Если переключатель
включен, величина задержки будет изменяться в небольших пределах. Опция
позволяет точнее моделировать пользователей, так как итерации распределяются в
течение определенного времени в произвольном порядке.
Прим.: Статистически, опция Случайно варьировать задержку
между итерациями задает случайные задержки из отрицательного показательного
распределения с тем же средним, что и у фиксированной задержки. У отрицательного
показательного распределения длинный "хвост", что означает, что может существовать
незначительное количество очень длинных задержек. По этой причине, убедитесь, что
длительные периоды простоя (например, тайм-аут, отключающий пользователя) не влияют
негативно на тестируемое приложение.
- Включите или выключите переключатель Задержка перед
первой итерацией цикла. Если переключатель
включен, первая задержка в каждой итерации будет разнесена по времени,
что дает сочетание при первой итерации, более близкое к
действительности.
Пример
В следующем расписании содержится два цикла. Заметьте, что тесты
Обзор и Предложение, которыми управляет цикл, должны быть дочерними
элементами цикла.