再ビルドの実行

ビルドの実行時に、「統合テスト」プロジェクト・グルーピングのすべての完成したタスクを収集して、統合およびテスト用にそれらをビルドします。再ビルドの実行時には、「統合テスト」プロジェクト・グルーピングへのタスクの追加またはタスクの除外を手動で行います。その後、その変更のみを再ビルドします。

アプリケーションの再ビルドは、以下のいずれかの理由で行う場合があります。

  • ビルドの要件が変わったため、機能を追加する必要がある。
  • ビルドの要件が変わったため、機能を削除する必要がある。
  • テストを行うチームがテスト中に問題を検出し、新規ビルドを必要としている。
  • ビルドに必要なタスクが含まれていない (例えば、完成が間に合わなかった、またはリリースが正しく設定されなかったため)。
  • タスクに関連付けられたオブジェクトが、ビルドを破損させるものであり、削除する必要がある。
  • 開発者が、正しく機能していなかったタスクを修正する修正タスクを完了したため、ビルドに修正タスクを追加する準備ができた。

ビルドが破損した理由にかかわらず、再ビルドする必要があります。再ビルドのタイミングは、プロセスのどの時点であってもかまいません。ビルドの破損は、どのマイルストーンでも発生する可能性があります。同様に、要件が変わったという状況も、いつでも起こる可能性があります。より安定している「システム・テスト」プロジェクトとは異なり、頻繁に変化し、何度もビルドされる「統合テスト」プロジェクトをビルドしているため、再ビルドの回数が多くなる可能性があります。ワークフローは以下のようなものになります。

  • 更新中に、「統合テスト」プロジェクト・グルーピング内のベースラインおよびタスクが変更されないようにします。
  • 「統合テスト」プロジェクト・グルーピング内で、タスクを手動で追加、削除、または除外します。

    1 つまたは複数のタスクを追加したり、タスクを追加および削除したり、タスクを除外したり、それらを任意の組み合わせで実行したりすることができます。これらのタスクを短時間で行う場合も、数日かけて完了する場合もあります。

  • 「統合テスト」プロジェクト・グルーピングを更新します。
  • メンバーシップ・コンフリクトを表示および解決します。

    自分でコンフリクトを解決することも、チーム・メンバーにコンフリクトを解決してもらうこともあります。そのため、コンフリクトの解決が短時間で終わることも、数日かかることもあります。

  • プロダクトを再ビルドします。

    小規模なプロダクトをビルドしていて、追加または削除されるタスクが 1 つまたは 2 つである場合は、ビルドは短時間で完了すると思われます。スモーク・テストは、直ちに正常に終了すると思われます。ただし、サイズに関わらず、プロダクトをビルドできない場合は、ベースラインなしの再ビルドを参照してください。

  • ベースラインを作成します。
  • 更新中に、「統合テスト」プロジェクト・グルーピング内のベースラインおよびタスクが変更されることを許可します。

このトピックでは、タスクをビルドに追加する方法と、タスクをビルドから削除する方法を示します。

ビルドへのタスクの追加

ビルドするタスクを追加できます。

手順

  1. 適切な「統合テスト」プロジェクト・グルーピングを右クリックし、「プロパティー」を選択します。
  2. プロパティー」ダイアログ・ボックスで「自動更新」チェック・ボックスをクリアしてから、「適用」をクリックします。

    このオプションは、更新操作中にベースラインおよびタスクが変更されないようにします。詳しくは、『ベースラインおよびタスクの更新中の変更の防止』を参照してください。

  3. 「タスク」タブをクリックします。

    このタブには、このダイアログ・ボックスで、または「タスク」コンテキスト・メニューから「プロジェクト・グルーピングに追加」を使用して、プロジェクト・グルーピングに手動で追加したタスクが表示されます。

    プロジェクト・グルーピングにタスクを追加するさまざまな方法の詳細な説明については、プロジェクトの更新プロパティーの変更内の『タスクの追加』を参照してください。

  4. 「タスクの追加」ボタンをクリックします。

    タスク選択」ダイアログ・ボックスが表示されます。これを使用して、プロジェクト・グルーピングに追加するタスクを見つけます。

  5. タスクを選択して、「OK」をクリックします。

    1 つ以上のタスクを選択できます。

  6. 「統合テスト」プロジェクト・グルーピングを右クリックし、「更新」にポインターを合わせ、「すべてのプロジェクト」を選択します。

    更新操作では、新規タスクから変更を取り込みます。

  7. コンフリクトを表示および解決します。(詳しくは、『プロジェクトまたはプロジェクト・グルーピングのメンバーシップ・コンフリクトの解決』を参照してください。)

    タスクを追加すると、依存関係が破損した結果としてコンフリクトが発生する可能性があります。例えば、追加したタスクが、追加されなかった別のタスクに依存する場合などです。これらの依存関係を調べて、コンフリクトを解決するための最良の方法を決定します。

  8. プロダクトを再ビルドします。

    再ビルドが正常に行われた後に、一連の基本操作をひととおり実行することにより、ビルドしたものをテストして、ビルドの整合性を確認します。例えば、アプリケーションを始動し、頻繁に使用されるいくつかの操作を実行し、アプリケーションを終了します。

  9. ビルドのスナップショットを作成します。

    チームがさらにテストを実行するためのテスト・ベースラインを作成する場合、そのベースラインを、使用できるものとして公開またはリリースしないでください。

    統合テスト・ビルドを、直ちに開発者が使用できるようにしたい場合は、ベースラインの作成時に「公開」チェック・ボックスを設定してください。

  10. 「統合テスト」プロジェクト・グルーピングの「プロパティー」ダイアログ・ボックスで、「プロパティー」タブをクリックし、「自動更新」チェック・ボックスを選択します。

    これで、次回の更新操作中にベースラインおよびタスクを変更できるようになりました。

ビルドからのタスクの削除

ビルドからタスクを削除できます。

手順

  1. 適切な「統合テスト」プロジェクト・グルーピングを右クリックし、「プロパティー」を選択します。
  2. プロパティー」ダイアログ・ボックスで「自動更新」チェック・ボックスをクリアしてから、「適用」をクリックします。

    このオプションは、更新操作中にベースラインおよびタスクが変更されないようにします。詳しくは、『ベースラインおよびタスクの更新中の変更の防止』を参照してください。

  3. タスクを削除します。『プロジェクトの更新プロパティーの変更』を参照してください。
  4. オプションで、タスクを除外することもできます。
  5. 「統合テスト」プロジェクト・グルーピングを右クリックし、「更新」にポインターを合わせ、「すべてのプロジェクト」を選択します。

    更新操作では、新規タスクから変更を取り込みます。

  6. メンバーシップ・コンフリクトを表示および解決します。(詳しくは、『プロジェクトまたはプロジェクト・グルーピングのメンバーシップ・コンフリクトの解決』を参照してください。)

    タスクを追加すると、依存関係が破損した結果としてコンフリクトが発生する可能性があります。例えば、追加したタスクが、追加されなかった別のタスクに依存する場合などです。これらの依存関係を調べて、コンフリクトを解決するための最良の方法を決定します。

  7. プロダクトを再ビルドします。

    再ビルドが正常に行われた後に、一連の基本操作をひととおり実行することにより、ビルドしたものをテストして、ビルドの整合性を確認します。アプリケーションを始動し、頻繁に使用されるいくつかの操作を実行し、アプリケーションを終了します。

  8. ビルドのスナップショットを作成します。

    チームがさらにテストを実行するためのテスト・ベースラインを作成する場合、そのベースラインを、使用できるものとして公開またはリリースしないでください。

    統合テスト・ビルドを、直ちに開発者が使用できるようにしたい場合は、ベースラインの作成時に「公開」チェック・ボックスを設定してください。

  9. 「統合テスト」プロジェクト・グルーピングの「プロパティー」ダイアログ・ボックスで、「プロパティー」タブをクリックし、「自動更新」チェック・ボックスを選択します。

    これで、次回の更新操作中にベースラインおよびタスクを変更できるようになりました。

    注: 問題タスクからの変更を使用してベースラインを作成して公開した後には、タスクに除外対象のマークを付けても、ビルドに影響はありません。これは、タスクに関連付けられたオブジェクトがまだベースライン内にあるためです。修正タスクを作成し、問題オブジェクトの新規バージョンを作成して、問題タスクからの変更を取り消します。もう 1 つのベースラインを作成および公開して、開発者が変更を使用できるようにします。

    変更の取り消しまたは修正が容易ではない場合は、ベースラインに削除対象のマークを付けます。そのベースラインは選出されず、直前のベースラインが使用されます。


フィードバック