LoadRunner のシナリオでは、ランダムのソースがいくつかあります。
rand
() 関数- ランダムな思考時間のデルタ (ランタイム設定)
- ランダム ペーシング時間コンポーネント (ランタイム設定)
- ランダム パラメータ (VUGen テストの一部として)
私はそれらの機能を使用しており、それらの疑似ランダム性を受け入れることができました。ただし、これらの機能の少なくとも 1 つを含むすべてのシナリオ実行が疑似ランダムかつ非決定論的に動作するという事実を受け入れることはできません。ペーシングと思考時間)。だから私は2つの実行がまったく同じランダムシーケンスに基づいていることを望みます. つまり、各実行の初期化の一部として、すべての乱数発生器を自分でシードしたいということです。
() を使用srand
して、() のシード値を設定できますrand
。init 時に特定の (ハードコードされた) シード値を設定するとrand
、すべての仮想ユーザーに対して () によって配信されるシーケンスは常に同じになります。VUser ID 番号をシードすると、rand
すべての vuser に対して異なる () シーケンスを取得することさえありますが、ユーザーごとに実行ごとに同じです。
rand
()以外の LR の他の疑似乱数ソースはどうですか? 決定論的なシナリオの動作を得るために、それらすべてをシードする機会はありますか?
それは大いに役立つと思います。
そのようなメカニズムがなければ、結果統計のランダム性を「平均化」するために、非常に長い、および/または非常にトラフィックの多いテストシナリオを計画する必要があります (これに同意しますか?) 私は一日中これを行っています.