37 most common loadrunner interview questions
最もよくあるLoadRunnerインタビューの質問。
前のチュートリアルでは、 LoadRunnerでのテスト結果分析 。
この記事では、 最も重要なよくある質問LoadRunnerインタビューの質問と回答 これは、LoadRunnerを使用したパフォーマンステスターのインタビューで成功するのに役立ちます。
LoadRunnerは、市場で最もライセンスの高いパフォーマンステストツールの1つです。サポートされているプロトコルの範囲が広いため、今後のテクノロジーのほとんどに最適です。
=> LoadRunnerチュートリアルの完全なシリーズについては、ここをクリックしてください
始める前のいくつかの基本的な指針:
#1) LoadRunnerの面接の質問は、主に3つのタイプに分類できます– スクリプティング、実行、および 分析 。初心者にとっては、スクリプトの部分にもっと集中することが重要です。
#二) Http / HTML 主に使用されるプロトコルです。まず、このプロトコルを完成させてみてください。
#3) 必ず知っておいてください LoadRunnerの正確なバージョン あなたが取り組んだこと。以前のバージョンでの作業経験がある場合は、新しい/現在のバージョンの一部である機能を常に最新の状態に保つようにしてください。
#4) 性能試験 面接はより実用的です 以前よりも。シナリオ指向の質問は、単純な質問ではなく一般的な質問です。一部の企業では、スクリプトテストを面接プロセスの一部にしています。だから、同じように準備してください。
#5) スクリプトを作成する場合でも、次のことが望ましいです。 コードをカスタマイズできる 、単に記録して再生するのではなく。
#6) 質問を期待する– 考える時間、トランザクション、コメント、記録オプション、ランタイム設定 など–これらはスクリプトのベストプラクティスに関する知識をテストするためのものです。
以下はその一部です パフォーマンステストのインタビュー 質問 答えるにはある程度の経験が必要です。パフォーマンステストプロジェクトに取り組むときは、これらの質問を念頭に置いてください。そうすれば、面接の準備活動は継続的なプロセスになります。
- これまでに直面したさまざまなスクリプトの問題は何ですか?
- あなたが取り組んでいたプロジェクトで見つけたパフォーマンスのボトルネックは何ですか?これらの問題を克服するために行われた推奨事項は何ですか?
- プロジェクトにリトルの法則を適用しましたか?もしそうなら、どのように?
- 分析のためのあなたのアプローチは何ですか?
- 実行中に何を監視しますか?
- テスト実行のためにサーバーデータを抽出する方法とそれを分析する方法は?
- パフォーマンスのボトルネックを特定する方法は?
主な質問領域は次のとおりです。
- スクリプト作成中に直面する課題
- 相関関数
- エラー処理
- Web HTTP / HTMLプロトコルのさまざまな記録モード。
- シナリオの作成
- 実行中の課題
- 分析
以下に、LoadRunnerの一般的なインタビューの質問と回答をいくつか示します。ただし、 最高の結果は提供することによって達成することができます あなたの露出、専門知識、および概念の解釈に基づいた回答 。質問への答えだけを学ぶことが常に最適であるとは限りません。 実践、学習、専門家 –これは、パフォーマンステストの面接準備のためのアプローチである必要があります。
LoadRunnerインタビューの質問とベストアンサー
Q#1)パフォーマンステストとパフォーマンスエンジニアリングの違いは何ですか?
回答: パフォーマンステストでは、テストサイクルには、要件の収集、スクリプト作成、実行、結果の共有、およびレポートの生成が含まれます。パフォーマンスエンジニアリングは、実行後のパフォーマンステストの一歩先を行っています。結果は、パフォーマンスのボトルネックを見つけることを目的として分析され、特定された問題を解決するためのソリューションが提供されます。
Q#2)パフォーマンステストのライフサイクルについて説明してください。
回答:
- ステップ1: システム分析(重要なトランザクションの識別)
仮想ユーザージェネレーター - ステップ2: 仮想ユーザースクリプトの作成(記録)
- ステップ3: ユーザーの動作の定義(実行時の設定)
LoadRunnerコントローラー - ステップ4: 負荷テストシナリオの作成
- ステップ5: 負荷テストシナリオの実行とパフォーマンスの監視
LoadRunner分析 - ステップ6: 結果の分析
参照 パフォーマンステストチュートリアル#2 詳細については。
Q#3)パフォーマンステストとは何ですか?
回答: パフォーマンステストは、負荷およびストレス条件下でのアプリケーションのパフォーマンスを評価するために行われます。これは通常、アプリケーションに対するユーザーのアクションの応答時間の観点から測定されます。
Q#4)負荷テストとは何ですか?
回答: 負荷テストは、多数のユーザーが同時に使用することによる大量の使用でアプリケーションが適切に機能するかどうかを判断することです。負荷は、サーバーが最大使用期間中に受けるピーク負荷をシミュレートするために増加します。
Q#5)LoadRunnerのさまざまなコンポーネントは何ですか?
回答:
LoadRunnerの主なコンポーネントは次のとおりです。
- VUGen: 実際のユーザーのアクションをエミュレートする仮想ユーザースクリプトを記録します。
- コントローラ: 負荷テストシナリオを作成、維持、実行するための管理センター。シナリオを仮想ユーザーとロードジェネレーターに割り当て、テストのロードを開始および停止します。
- 負荷ジェネレータ: 負荷を生成できるエージェント
- 分析: システムパフォーマンスを要約したグラフとレポートを提供します
Q#6)ランデブーポイントとは何ですか?
回答: ランデブーポイントは、サーバーでの重いユーザー負荷(要求)をエミュレートするのに役立ちます。これは、仮想ユーザーに同時に動作するように指示します。仮想ユーザーがランデブーポイントに到達すると、仮想ユーザーはランデブーポイントを持つすべての仮想ユーザーを待ちます。指定された数の仮想ユーザーがそれに達すると、仮想ユーザーは解放されます。関数lr_rendezvousは、ランデブーポイントを作成するために使用されます。これは次の方法で挿入できます。
- 録音中のフローティング録音ツールバーのランデブーボタン。
- 記録後、ランデブーポイントが挿入されます 挿入>ランデブー 。
Q#7)スクリプトのさまざまなセクションは何ですか?これらのセクションはどのような順序で実行されますか?
回答: LoadRunnerスクリプトには、Vuser_init、Action、およびVuser_endの3つのセクションがあります。
- Vuser_init アプリケーション/サーバーにログインするためのリクエスト/アクションがあります。
- アクション アプリケーションの機能をテストするための実際のコードがあります。これは、繰り返し再生することができます。
- Vuser_end アプリケーション/サーバーからログアウトするためのリクエスト/アクションがあります。
これらのセクションが実行される順序は、Vuser_initが最初で、Vuser_endが最後です。アクションは2つの間に実行されます。
Q#8)アプリケーションに使用するプロトコルをどのように特定しますか?
回答: 以前は、パフォーマンステスターは、アプリケーションがサーバーとの対話に使用しているプロトコルについて知るために、開発チームに大きく依存する必要がありました。時々、それはまた投機的でした。
ただし、LoadRunnerは次の形式で大きな助けを提供します プロトコルアドバイザー バージョン9.5以降。プロトコルアドバイザーは、アプリケーションが使用するプロトコルを検出し、実際のユーザーをシミュレートするためにスクリプトを作成できる可能なプロトコルを提案します。
Q#9)相関とは何ですか? 自動相関と手動相関の違いを説明する 相関?
回答: 相関は、スクリプト内の動的な値を処理するために使用されます。動的な値は、ユーザーアクションごと(同じユーザーがアクションを再生すると値が変わる)またはユーザーが異なる(別のユーザーがアクションを再生すると値が変わる)ごとに変わる可能性があります。どちらの場合も、相関はこれらの値を処理し、実行中に失敗するのを防ぎます。
手動相関には、動的値の識別、動的値の最初の出現の検出、動的値のキャプチャの一意の境界の識別、応答に動的値の最初の出現がある要求の前に相関関数web_reg_save_paramを書き込むことが含まれます。
自動相関は、事前定義された相関ルールで機能します。スクリプトが再生され、失敗した場合の自己相関がスキャンされます。 Vugenは、相関ルールが機能する場所を特定し、承認時に値を相関させます。
参照する このチュートリアル 詳細については。
Q#10)何を相関させ、何をパラメータ化するかを特定する方法は?
回答: 反復ごとに、または再生中に異なるユーザーで変更されるスクリプト内の値には、相関関係が必要です。録音中のユーザー入力はすべてパラメーター化する必要があります。
Q#11)パラメータ化とは何ですか?スクリプトでパラメータ化が必要なのはなぜですか?
回答: スクリプト内のハードコードされた値をパラメーターに置き換えることをパラメーター化と呼びます。これにより、1人の仮想ユーザー(仮想ユーザー)が実行ごとに異なるデータを使用できるようになります。これは、サーバーが結果をキャッシュしないようにするため、アプリケーションの実際の使用法をシミュレートします。
参照する このチュートリアル 詳細については。
Q#12)アプリケーションのパフォーマンステストのユースケースをどのように特定しますか?
回答: パフォーマンステストのテストケース/ユースケースは、ユーザーが実行するすべてのステップが記述されている手動/機能テストのテストケースとほぼ同じです。唯一の違いは、次のように選択するための基準がほとんどないため、すべての手動テストケースをパフォーマンステストのユースケースにすることはできないということです。
- ユーザーアクティビティは、アプリケーションの重要で最も重要な機能に関連している必要があります。
- ユーザーアクティビティには、検索、削除、挿入などのデータベースアクティビティが大量に含まれている必要があります。
- ユーザーアクティビティは、十分なユーザーボリュームを持っている必要があります。ユーザーアクティビティが少ないという機能は、通常、パフォーマンステストの観点から省略されています。 例えば、 管理者アカウントのアクティビティ。
上記の基準を満たす手動テストケースはすべて、パフォーマンステストのユースケース/テストケースとして使用できます。手動のテストケースが段階的に作成されていない場合、パフォーマンスチームはそれら専用のドキュメントを作成する必要があります。
Q#13)スクリプトを作成しているときに、自動相関の相関ルールを作成しました。同じアプリケーションで作業しているチームメンバーと相関ルールを共有して、チームメンバーが自分のワークステーションで同じアプリケーションを使用できるようにする場合、どのように行いますか?
回答: 相関ルールは.corファイルを介してエクスポートでき、同じファイルをVuGenを介してインポートできます。
Q#14)スクリプト作成および実行中に使用できるさまざまなタイプの仮想ユーザーログとは何ですか?これらのログの違いは何ですか?ロギングを無効にすると?
回答: 使用可能な仮想ユーザーログには、標準ログと拡張ログの2種類があります。ログは、スクリプトをデバッグするための鍵です。スクリプトが起動して実行されると、ログはエラーに対してのみ有効になります。
標準ログは、スクリプトの実行中にサーバーに送信される機能とメッセージのログを作成しますが、拡張ログには、追加の警告やその他のメッセージが含まれます。ロギングはデバッグ中に使用され、実行中は無効になります。その場合、エラーに対してロギングを有効にすることができます。
Q#15)スクリプトのモジュラーアプローチとは何ですか?
回答: モジュラーアプローチでは、リクエストごとに関数が作成されます( 例えば、 ログイン、ログアウト、保存、削除など)、これらの関数は必要に応じて呼び出されます。このアプローチにより、リクエストを再利用する自由度が高まり、時間を節約できます。このアプローチでは、Webカスタムリクエストを処理することをお勧めします。
Q#16)目標指向シナリオのさまざまなタイプの目標は何ですか?
回答: LoadRunnerには、目標指向のシナリオで5つの異なるタイプの目標があります。これらは:
- 同時仮想ユーザーの数
- 1秒あたりのヒット数
- 1秒あたりのトランザクション数
- 1分あたりのページ数
- トランザクションの応答時間
Q#17)スクリプトで各ステップはどのように検証されますか?
回答: スクリプトの各ステップは、返されたページのコンテンツで検証されます。コンテンツチェックは、特定のコンテンツがWebページに存在するかどうかを確認します。 LoadRunnerで使用できるコンテンツチェックには2つのタイプがあります。
- テキストチェック: これにより、Webページ上のテキスト/文字列がチェックされます。
- 画像チェック: これにより、Webページ上の画像がチェックされます。
Q#18)記録後にVuGenスクリプトはどのように変更されますか?
回答: スクリプトが記録されたら、次のプロセスで変更できます。
- トランザクション
- パラメータ化
- 相関
- 変数宣言
- ランデブーポイント
- 検証/チェックポイント
Q#19)ランプアップとランプダウンとは何ですか?
回答:
- 強める: 仮想ユーザーが負荷テストに追加する割合。
- ランプを消す: 仮想ユーザーが負荷テストを終了する割合。
Q#20)仮想ユーザーをスレッドとして実行する利点は何ですか?
回答: スレッドとして仮想ユーザーを実行すると、スレッドを実行している仮想ユーザーのメモリプリントが小さいため、任意のマシンからより多くの仮想ユーザーを生成できます。
Q#21)VuGenリプレイログの無駄な時間は何ですか?
回答: 無駄な時間は、ブラウザユーザーによって実行されることはなく、テスト分析をサポートするアクティビティに費やされた時間だけです。これらのアクティビティは、ロギング、記録の保持、およびカスタム分析に関連しています。
Q#22)VuGenでテキストと画像のチェックを有効にするにはどうすればよいですか?
回答: これは、関数web_find(テキストチェック用)およびweb_image_check(画像チェック用)を使用し、実行時設定から画像およびテキストチェックを有効にすることで実行できます。
実行時設定–>設定–>画像とテキストのチェックボックスを有効にします。
Q#23)web_reg_findとweb_findの違いは何ですか?
回答: web_reg_find関数は、リクエストが送信される前に処理され、VuGenスクリプトではリクエストの前に配置されますが、web_find関数は、リクエストの応答が来た後に処理され、VuGenスクリプトではリクエストの後に配置されます。
Q#24)メールアカウントの「すべて選択」、次に「削除」のステップをスクリプト化するために直面する課題は何ですか?
回答: この場合、「すべて選択」と「削除」の投稿は、利用可能なメールの数に応じて毎回変更されます。このために、2つの記録されたリクエストをカスタムリクエストに置き換える必要があり、投稿をビルドするには文字列のビルドが必要です。 (( 注意 –この質問には実践的な知識が必要です。したがって、これを実際に実行して、回答を作成してください)。
Q#25)ペーシングと思考時間の違いは何ですか?
回答: ペーシングはアクションの反復間の待機時間ですが、時間を考えるとトランザクション間の待機時間になります。
Q#26)コントローラーを使用して一度に監視できるグラフの数はいくつですか?それらの最大値は何ですか?
回答: 一度に1つ、2つ、4つ、8つのグラフを見ることができます。一度に監視できるグラフの最大数は8です。
Q#27)学生の試験結果を表示するアプリケーションがあります。各学生の名前に対応して、「合格」と「不合格」のラベルが付いた試験に合格したか不合格だったかが記載されています。 VuGenスクリプトで合格および不合格の学生の数をどのように特定しますか?
回答: このテキストチェックでは、「合格」および「不合格」というテキストのWebページにチェックが使用されます。関数web_reg_findを介して、「SaveCount」を使用してWebページで見つかったテキストの数をキャプチャできます。 SaveCountは、見つかった一致の数を格納しました。例えば-
web_reg_find('Text=Pass', 'SaveCount=Pass_Student', LAST); web_reg_find('Text=Fail', 'SaveCount=Fail_Student', LAST);
Q#28)負荷テスト中、ログの最適な設定は何ですか?
回答: 負荷テストの場合、ログレベルは最小に設定されます。これは、ログレベルを標準ログに設定し、(エラーが発生した場合にのみメッセージを送信する)ラジオボタンを選択することで実現できます。
Q#29)メールボックスをランダムに選択して読み取る必要がある場合、スクリプトの状況をどのように処理しますか?
回答: このために、最初のメールを読むためのスクリプトを記録します。メールIDや行番号などの最初のメールを読むためのリクエストに投稿されているものを見つけてください。
メールのリストが反映されている投稿から、相関関数を使用してすべてのメールID行番号をキャプチャし、OrdinalをAll、つまりORD = Allとして維持しようとします。既読の投稿でリクエストされたメールIDを、キャプチャされたメールIDのリストからランダムに選択されたメールIDのいずれかに置き換えます。
これを参照してください スクリプトチュートリアル 。
Q#30)思考時間とは何ですか?思考時間のしきい値レベルとは何ですか?これをどのように変更できますか?
回答: 思考時間は、スクリプト内のアクション間に意図的に挿入された待機時間であり、アプリケーションでアクティビティを実行している間、実際のユーザーの待機時間をエミュレートします。記録された思考時間が無視されるレベルの思考時間のしきい値レベル。これはから変更することができます 記録されたオプション-> スクリプト-> しきい値よりも長い思考時間を生成します。
Q#31)自動相関はどのように構成されていますか?
回答: 自動相関に関連する設定は、次の方法で実行できます。 一般オプション-> 相関。 相関ルールはから設定されます 録音オプション-> 相関関係。
Q#32)テストの実行に必要な負荷ジェネレーターマシンの数をどのように決定しますか?
回答: 必要な負荷ジェネレーターの数は、スクリプトの作成に使用されたプロトコルと負荷ジェネレーターマシンの構成によって完全に異なります。各プロトコルには異なるメモリプリントがあり、これにより、マシンの特定の構成(負荷ジェネレーター)から生成できる仮想ユーザーの数が決まります。
Q#33)パフォーマンステストツールを選択する際に正確に探している機能は何ですか?
回答: パフォーマンステストツールは次のことができる必要があります:-
- 複数のテクノロジーとハードウェアプラットフォームを使用して構築されたアプリケーションのテスト。
- アプリケーションをテストするためのサーバーの適合性を判断する
- 数万、数千、さらには数千の仮想ユーザーの負荷でアプリケーションをテストします。
Q#34)同時ユーザーと同時ユーザーの違いは何ですか?
回答: すべての同時ユーザーは同時ユーザーですが、その逆は当てはまりません。
実行中のシナリオのすべての仮想ユーザーは、同じアプリケーションを同時に使用しているが、同じタスクを実行している場合と実行していない場合があるため、同時ユーザーです。同時ユーザーは同じタスクを同時に実行します。同時ユーザーは、ランデブーポイントを介して同時ユーザーになります。
ランデブーポイントは、特定の数の仮想ユーザーが到着するまで待機するようにシステムに指示し、すべての仮想ユーザーが特定のタスクを同時に実行できるようにします。
Q#35)スクリプトでどの値を関連付ける必要があるかをどのように特定しますか?例を挙げる。
回答: これは次の方法で実行できます。
- 同様の手順で2つのスクリプトを記録し、WDiffユーティリティを使用してそれらを比較します。 (チュートリアルの相関関係を参照してください)。
- 記録されたスクリプトを再生し、相関関係をスキャンします。これにより、相関できる値のリストが表示されます。
Session-Idはこの良い例です。 2つのスクリプトが記録され、WDiffユーティリティを使用して比較される場合。 2つのスクリプトのセッションIDは異なっている必要があり、WDiffはこれらの値を強調表示します。
Q#36)キャッシュはパフォーマンステストの結果にどのように影響しますか?
回答: データがサーバーのメモリにキャッシュされている場合、サーバーは結果をフェッチする必要がなく、サーバーアクティビティはトリガーされません。テスト結果は、異なるデータでアプリケーションを使用している実際のユーザーの同じパフォーマンスを反映していません。
Q#37)エラー時にスクリプトの実行をどのように停止しますか?
回答: これは、lr_abort関数を介して実現できます。この関数は、アクションセクションの実行を停止し、vuser_endセクションを実行して実行を終了するように仮想ユーザーに指示します。この関数は、特定のエラーを処理するのに役立ちます。
これは、実行できないエラーではなく状況を処理するためにも使用できます。関数は、lr_abort関数のために停止した仮想ユーザーに「停止」ステータスを割り当てました。ランタイム設定では、「エラー時に続行」のチェックを外す必要があります。
あなたに
これを願っています LoadRunnerのインタビューの質問と回答の膨大な編集 皆さんに役立つでしょう。
STHでは、私たちは常に ファンダメンタルズの重要性 。パフォーマンステストの専門家でも同じことが言えます。ただし、このパフォーマンステストの面接アンケートが、LoadRunnerを使用してパフォーマンステストのキャリアを見つけたり、前進したりすることを目指すすべての人にとって、参考になることを願っています。
皆様のご多幸をお祈り申し上げます。
=> LoadRunnerチュートリアルの完全なシリーズについては、こちらをご覧ください
このLoadRunnerシリーズのすべてのチュートリアルを楽しんでいただけたでしょうか。