Project Professional 関連のユーザーが開始する操作のテスト (Project Server 2010)

 

適用先: Project Professional 2010, Project Server 2010

トピックの最終更新日: 2016-11-30

この記事は、Microsoft Project Professional がメイン ユーザー インターフェイスとして関係する操作に関するものです。このカテゴリに属する最も頻繁に行われる操作には、次の操作が含まれます。

  • プロジェクトを開く

  • プロジェクトの保存

  • プロジェクトの発行

この記事は新たに公開されたものです。できる限り良質な技術ドキュメントを提供するには、皆様のフィードバックが役立ちます。このドキュメントに関するご意見、疑問、問題点を epmdocfeedback@microsoft.com までお寄せください。

Microsoft Project Server 2010 は、同じユーザー セッション内で実行する複数のインスタンスをサポートしません。したがって、複数の同時ユーザーをテストするには、十数台のサーバーがない限り、ターミナル サービスを使用する必要があります。一方、同じユーザー セッション上の複数のセッションで Visual Studio 2008 Test Agent をインスタンス化することはできません。このことが、Project Professional テストを Visual Studio Team System 2008 Test Edition に統合することを非常に困難にしています。しかし、複数のターミナル サービス セッション内で Project Professional テストを自動化できるコミュニティ ベースのツールが開発され、MSDN コード ギャラリーの「Microsoft Project 2010: Project Server Stress Testing (英語)」(https://go.microsoft.com/fwlink/?linkid=190625\&clcid=0x411) (英語) で入手できます。Thick Client Test Framework ツールは、Visual Studio 2008 Test Edition アーキテクチャと概念的に似ている、コントローラー エージェント アーキテクチャを実装しています。どの場合も、コントローラーが情報を SQL Server データベースに送り (プッシュ)、エージェントは同じデータベースからジョブに関連するジョブ情報を取得 (プル) し、ステータス情報を更新します。すべてのジョブは、カスタム .NET コンポーネントを使用し、Project Professional クライアント オブジェクト モデルを利用して実装された、1 つ以上の操作で構成されています。

以下で説明する 3 つの Project Professional テストは、Test Framework ツールを使用して実装されています。データの収集は、同時に実行している Visual Studio Team System 2008 Test Edition によって行われます。

Project Web App ホーム ページへのアクセス

Visual Studio 2008 で提供されている Web テスト レコーダー ツールを使用すると、ユーザーが PWA ホーム ページにアクセスするときに発生するすべての HTTP 要求を記録できます。Web テストを記録したら、ロード シナリオで異なるユーザーをシミュレートするために、資格情報を設定します。次に、テストの実行ごとに Visual Studio にリストからユーザーをランダムに選択させます。ユーザー資格情報はデータ ソースにバインドできるので、データベース、XML ファイル、CSV ファイルなど、自分にとって都合のよいデータ ソースからデータを読み取ることができます。たとえば、上記の Resources.xml ファイルをユーザー資格情報のデータ ソースとして使用できます。他のすべてのテストでも、同じ方法を使用できます。

プロジェクトを開く

"Project Server 2010 Stress Testing" ソリューションの "Thick Client Test Framework" に含まれているサンプル コードは、Microsoft Project Professional からプロジェクトを開く操作を自動化する方法を示しています。コードは動的に読み込まれ、Test Framework エージェントによって実行されます。Open 関数は、2 つの入力パラメーターを受け取ります。1 番目のパラメーターは、開くプロジェクトのファイル名です ("*" をファイル名として使用すると、サーバー側のリストから Project が順番に自動的に選択されます)。2 番目のパラメーターは、プロジェクトを読み取り専用で開くか、読み取り書き込みモードで開くかを示すブール値です。関数は、操作にかかった時間をミリ秒単位で返し、エラーの場合は 0 を返します。2 つのパラメーターは、コントローラー UI を通じて設定できます。

プロジェクトの保存

リソース センターのテストは、プロジェクト センターのテストに非常に似ています。これは、JavaScript グリッド コントロールが含まれているためです。

[自分のタスク] ページへのアクセス

Microsoft Project Professional は、保存時に実際の変更をサーバーに送信するだけです。したがって、意味のある保存テストを実行するためには、保存に先立ち、開かれているプロジェクトにいくつかの変更を適用する必要があります。保存する前に意味のある変更を生成するためにできることに限定して考えてみましょう。1 つの簡単な例に、プロジェクトの開始日の変更があります。通常、これはプロジェクト内のすべてのタスクに影響し、保存する重要な変更セットが生成されます。

Test Framework CodePlex ソリューション内のサンプル コードは複数のサンプル関数を示しており、これらはコントローラー アプリケーション内でワークフローを定義することによって、順番に実行するように設定できます。2 つの例を次に示します。

  1. ChangeStartDate 関数。[本日 ± 30 日] の範囲でランダムに日付を選択し、プロジェクトの開始日を、ランダムに選択されたその日付に変更します。

  2. Save 関数。アクティブなプロジェクトを保存します。関数は入力パラメーターとして 1 つのブール値を受け取ります。アクティブなプロジェクトが読み取り専用モードで開いている場合は、このパラメーターを使用して保存操作をスキップできます。

どちらの関数も、操作にかかった時間をミリ秒単位で返し、エラーの場合は 0 を返します。

プロジェクトの発行

"Project Server 2010 Stress Testing" ソリューション内の "Thick Client Test Framework" に含まれるサンプル コードは、プロジェクトの発行を自動化する方法を示しています。Publish 関数は、3 つの入力パラメーターを受け取ります。1 番目のパラメーターは、プロジェクト全体を発行するか (true)、変更のみを発行するか (false) を示すブール値です。2 番目のパラメーターは、準備するプロジェクト ワークスペースのオプションの URL です。3 番目のパラメーターは、プロジェクトが読み取り専用モードで開かれている場合に発行操作をスキップする必要があるかどうかを示すブール値です。関数は、操作にかかった時間をミリ秒単位で返し、エラーの場合は 0 を返します。