В сценариях LoadRunner есть несколько источников случайных чисел:
rand
() функция- Случайные дельты времени обдумывания (параметры времени выполнения)
- Компоненты случайного времени стимуляции (настройки времени выполнения)
- Случайные параметры (в рамках теста VUGen)
Я использую эти функции, и я мог бы жить с их псевдослучайностью. Однако я не могу смириться с тем фактом, что все запуски сценариев, содержащие хотя бы одну из этих функций, ведут себя псевдослучайно И недетерминировано, т. е. для заданного начального состояния (случайное начальное число) я хочу, чтобы два запуска генерировали ТОЧНО одинаковую нагрузку, включая время ( темп и время на обдумывание). Поэтому я хочу, чтобы два прогона были основаны ТОЧНО на одних и тех же случайных последовательностях. Это означает, что я хочу сам заполнить все генераторы случайных чисел как часть инициализации каждого запуска.
Я могу использовать srand
(), чтобы установить начальное значение для rand
(). Установка определенного (жестко запрограммированного) начального значения при инициализации всегда приводит к одной и той же последовательности, предоставляемой rand
() -- для всех виртуальных пользователей. Если бы я запустил номер VUser ID, я бы даже получил разные последовательности rand
() для каждого vuser, в то время как они по-прежнему одинаковы от запуска к запуску для каждого пользователя.
А как насчет других псевдослучайных источников в LR, помимо rand
()? Есть ли у меня возможность заполнить их все, чтобы получить детерминированное поведение сценария?
Я думаю, это очень помогло бы.
Без такого механизма приходится планировать очень длинные и/или очень загруженные тестовые сценарии, чтобы «усреднить» случайность в статистике результатов (вы согласны с этим?), что я и делаю весь день.