従来のクライアント/サーバー アーキテクチャを実装するアプリケーションがあることを仮定します。クライアント アプリケーションの複数のインスタンスがサーバーに同時にアクセスした場合に、どのようになるかをテストします。たとえば、従業員の勤務時間をサーバーに保存する、独自の時間管理システムなどが考えられます。ただし、アプリケーションがクライアントとサーバー間の通信に特殊なプロトコルを使用しているため、既存の Silk Performer のアプリケーションの種類は、テストに使用できません。そのような場合は、GUI レベルのテストを使用する場合があります。GUI レベルのテストを使用すると、サーバーに過負荷をかけることなくサーバーに同時にアクセスし、時間追跡システムを使用できる従業員の数を判断できます。
以下の図に示すように、プロセスは Silk Performer コントローラで開始されます。負荷テストを開始すると、Silk Performer コントローラは、Microsoft Windows Server オペレーティング システムで実行されるエージェントに接続し、リモート デスクトップ サービス (以前のターミナル サービス) を実行します。Silk Performer エージェントによってランタイムが作成され、ランタイム内で仮想ユーザーが作成されます。各仮想ユーザーは、エージェント マシン上で新しいセッションを作成し、このセッション内で Silk Test を開始します。 Silk Test は、アプリケーションで以前に記録されたステップを実行します。つまり、Silk Test がアプリケーションを駆動します。仮想ユーザーがレスポンス時間を測定する間、アプリケーションはサーバーにアクセスし、負荷を発生させます。
マシン上または単一セッションで、アプリケーションの複数のインスタンスを実行できない場合があります。そのため、各仮想ユーザーが、エージェント マシン上で新しいセッションを作成します。このアプローチでは、Silk Performer はアプリケーションの複数のインスタンスを作成します。これらすべてがテスト対象のシステムに同時にアクセスします。
これらすべてのステップを実行すると、Silk Performer で負荷テストを開始できるようになります。
Silk Test は、グラフィカル ユーザー インターフェイス (つまり、GUI レベル) で直接テストを実行します。このアプローチでは、エージェント マシンのいずれかのセッションに接続している場合、たとえば、マウスのクリックやキーボード入力など、Silk Test が記録したテスト ステップをどのように実行するかを監視できます。
Silk Performer が提供する BDL 関数の詳細については、『Silk Performer BDL Function Reference』(英語) を参照してください。
Google Chrome、Mozilla Firefox を使用した Web アプリケーションに対するテストでは、Silk Performer はすべての仮想ユーザーを単一の Windows セッションで実行することができます。このメリットとして、リモート デスクトップ ライセンスが不要なこと、仮想ユーザーごとのリソース消費が従来の GUI レベルのテストでのアプローチと比較して大幅に低いことが上げられます。