次の方法で共有


バグ (CMMI)

このトピックでは、バグ作業項目の詳細を入力する方法について学習できます。バグとは、チームが開発しているコード内に問題がある可能性を伝えるものです。詳細については、「バグの操作」を参照してください。

このタイプの作業項目を作成する方法については、「作業項目とワークフロー (アジャイル)」を参照してください。

このトピックの内容

関連トピック

  • バグの定義

  • バグからその他の作業項目へのリンクの設定

  • バグへの詳細、添付ファイル、またはハイパーリンクの追加

  • バグの状態の変更

プロセス ガイダンス

ブック

ダッシュボードとレポート

フィールド参照

必要なアクセス許可

バグを表示するには、読み取りユーザー グループのメンバーであるか、または [このノードの作業項目を表示します][許可] に設定されている必要があります。バグを作成または変更するには、貢献者グループのメンバーであるか、または [このノードの作業項目を編集します] のアクセス許可が [許可] に設定されている必要があります。詳細については、「アクセス許可の管理」を参照してください。

バグの定義

バグを定義する場合は、閲覧者が問題の影響をすべて理解できるように、問題を正確に報告する必要があります。また、バグを見つけた際に行った操作を記述して、他のチーム メンバーが容易にその動作を再現できるようにする必要があります。テスト結果は、問題を明確に示す必要があります。明確に理解できるように記述することにより、バグを修正できる可能性が高まります。

バグの作業項目フォームは、次の図に示すフィールドとタブにデータを保存します。

CMMI のバグ作業項目フォーム

バグを定義する場合は、作業項目フォームの最上部のセクションにタイトルを定義し、[詳細] タブの [症状] ボックスにテキストを入力する必要があります。他のフィールドは、空白または既定値のままでかまいません。

バグを定義するには

  1. 作業項目フォームの最上部のセクションで、次のフィールドを 1 つ以上指定します。

    • [タイトル] に、見つけたコード障害についての説明を入力します (必須)。

    • 担当者 の一覧で、バグの修正を担当するチーム メンバーの名前を選択します。

      [!メモ]

      作業項目は、貢献者グループのメンバーにのみ割り当てることができます。

    • [状態] ボックスでは、既定値である提案済みをそのまま使用します。

      既定では、[理由] フィールドの値は新規です。"解決理由" フィールドは読み取り専用です。"理由" フィールドの値がアクティブから解決済みに変更されるとその値がキャプチャされます。これらのフィールドの詳細とこれらのフィールドを使用してワークフローを追跡する方法については、このトピックの「バグの状態の変更」を参照してください。

    • 優先度 の一覧で、1 は最も重要である。4 は最も重要である、バグの優先度を示す値を選択します。

      既定では、このフィールド値は 2 です。

    • 深刻度 の一覧で、プロジェクトのバグの影響を示す値を選択します。

      既定では、このフィールド値は [3 - 中] です。

    • トリアージ の一覧で、トリアージのサブ状態を選択します。

      有効な値は [保留] (既定)、[詳細][情報取得済み]、および [トリアージ済み] です。このフィールドでは、提案済み状態にあるバグのトリアージ レベルを指定します。

    • ブロック の一覧で、問題がバグの解決に向けた作業の進行がブロック あり を選択します。

    • 区分イテレーション の一覧で、適切な区分とイテレーションをクリックします。

      [!メモ]

      各チーム プロジェクトのプロジェクト管理者は、プロジェクトの区分とイテレーション パスを定義することで、チームがその指定によって進行状況を追跡できるようにします。詳細については、「区分およびイテレーションの作成および修正」を参照してください。

    • 根本原因 の一覧で、エラーの原因を選択します。

      [コード エラー][デザイン エラー]、[仕様エラー][通信エラー]、または [不明] のいずれかの値を指定できます。

  2. REPRO STEPS のタブに、別のチーム メンバーが修正する必要のある問題について理解する必要がある限り詳細に入力します。

  3. SYMPTOM のタブで、発見されたコードの欠陥または予期しない動作を記述します。

    このフィールドに入力する内容は書式設定できます。

  4. SYSTEM INFO のタブで、次のような情報を一つ以上指定します。:

    • [発見された環境] に、バグが発見されたソフトウェア セットアップと構成を記述します。

    • [発見方法] に、バグが発見された方法を記述します。

      たとえば、バグは顧客によるレビューで発見されたり、アドホック テストによって発見されたりします。

  5. FIX のタブに、バグを修正するための変更案を記述します。

    このフィールドに入力する内容は書式設定できます。

  6. そのほか のタブで、次のような情報を一つ以上指定します。:

    • 発見されたビルド の一覧で、潜在的な欠陥が発見されたビルドの名前を選択または入力します。

      [!メモ]

      各ビルドには、関連付けられた一意のビルド名があります。ビルド名を定義する方法については、「Customize Build Numbers」を参照してください。

    • バグを作成するときに、[ビルドに統合] でビルドを指定しないでください。バグを解決するときに、コードを取り込むビルドまたはバグを修正するビルドの名前を入力します。

    • [最初の見積もり] に、バグを修正するために必要な時間を入力します。

  7. TEST CASESALL LINKS のタブで、バグからタスク、変更要求、テスト ケース、およびそのほかのバグなどの他の作業項目へのリンクを作成できます。

    ATTACHMENTS のタブで、仕様、イメージ、または修正するバグに関する詳細を提供する他のファイルを添付できます。

    詳細については、このトピックの次のセクションを参照してください。

    • バグからその他の作業項目へのリンクの設定

    • 要件への詳細、添付ファイル、またはハイパーリンクの追加

  8. 作業項目ツール バーで、作業項目の保存を選択 保存します。

    [!メモ]

    バグを保存すると、作業項目ツール バーの下のタイトルに識別子が表示されます。

バグからその他の作業項目へのリンクの設定

バグおよびその他の作業項目の間に関係を作成することにより、依存関係を追跡したり、関連情報を迅速に検索したりできます。バグの作業項目フォームから、バグに自動的にリンクされる作業項目を作成することも、既存の作業項目へのリンクを作成することもできます。

特定の種類の作業項目への特定の種類のリンクを作成するには、[テスト ケース] タブと [すべてのリンク] タブを使用します。各タブの制限事項の詳細については、「Linking Work Items (CMMI)」を参照してください。

タスク、バグ、変更要求、テスト ケース、またはその他の作業項目を作成してバグにリンクするには

  1. バグの作業項目フォームを開き、次のいずれかの操作を実行します。

    • テスト ケースを作成し、リンクするには、テスト ケース のタブをクリックし、新規作成を選択 リンクされた新しい作業項目の追加します。

    • そのほかの種類の作業項目を作成し、リンクするには、すべてのリンク のタブをクリックし、新規作成を選択 リンクされた新しい作業項目の追加します。

    [リンクされた新しい作業項目の追加] ダイアログ ボックスが開きます。

    [リンクされた新しい作業項目の追加] ダイアログ ボックス

  2. リンクの種類 の一覧で、既定値をそのまま使用するか、次の選択項目の 1 つがを選択する:

    • テスト ケースにリンクを作成するには、テスト担当者を選択します。

    • そのほかの種類の作業項目にリンクを作成するには、リンクの 関連 または追跡する関係を表す別の種類を選択します。

  3. 作業項目の種類 の一覧で、作成する作業項目の種類を選択します。

  4. [タイトル] に、簡潔かつ具体的な説明を入力します。

  5. (省略可能) [コメント] に、追加情報を入力します。

  6. [OK] をクリックします。

    指定した作業項目の種類に対応するフォームが開き、指定した情報が表示されます。

  7. 次のトピックで説明されているように、残りのフィールドを指定します。

  8. 作業項目の保存を選択 保存します。

複数の既存の作業項目をバグにリンクするには

  1. バグの作業項目フォームを開き、次のいずれかの操作を実行します。

    • 一つ以上のテスト ケースにリンクするには、テスト ケース のタブをクリックし、リンク先を選択 リンクの追加します。

    • 他の型の一つ以上の作業項目にリンクするには、すべてのリンク のタブをクリックし、リンク先を選択 リンクの追加します。

    [バグへのリンクの追加] ダイアログ ボックスが表示されます。

    [要件へのリンクの追加] ダイアログ ボックス

  2. リンクの種類 の一覧で、既定値をそのまま使用するか、次の選択項目の 1 つがを選択する:

    • テスト ケースにリンクを作成するには、テスト担当者を選択します。

    • そのほかの種類の作業項目にリンクを作成するには、リンクの 関連 または追跡する関係を表す別の種類を選択します。

  3. [参照] をクリックします。

    [リンクされた作業項目の選択] ダイアログ ボックスが表示されます。

    ユーザー ストーリーへのタスクのリンク ダイアログ ボックス

  4. [作業項目 ID] に作業項目の ID を入力するか、リンクする作業項目を参照します。

    チーム クエリを実行して、リンクする作業項目を検索することもできます。これらのクエリには、[アクティブなバグ]、[変更要求]、[タスクを開く]、[テスト ケースを開く]、および [タスクを開く] があります。

  5. 要件にリンクする各作業項目の横にあるチェック ボックスをオンにします。

    詳細については、「リンクまたはインポートする作業項目の検索」を参照してください。

  6. (省略可能) リンクする作業項目の説明を入力します。

  7. OKを選択し、作業項目の保存を選択 保存します。

    [!メモ]

    リンクしたバグと項目の両方が更新されます。

バグへの詳細、添付ファイル、またはハイパーリンクの追加

他のメンバーがバグを再現したり修正したりできるように、バグの情報を追加することができます。バグへの詳細の追加は、次の方法で実行します。

  • [説明][ステップの再現][システム情報][修正]、または [履歴] タブに情報を入力します。

  • ファイルを添付します。

    たとえば、電子メールのスレッド、文書、イメージ、ログ ファイルなどのさまざまな種類のファイルを添付できます。

  • サーバーまたは Web サイト上に保存されている Web サイトまたはファイルへのハイパーリンクを追加します。

バグに詳細を追加するには

  1. 次のタブの 1 種類を選択する: Repro手順詳細システム情報、または 修正

  2. 追加する情報を入力します。

    ほとんどのフィールドにおいて、テキストの書式を設定して、文字を強調したり箇条書きリストを使用したりできます。詳細については、「要件フィールド参照 (CMMI)」を参照してください。

  3. 作業項目の保存を選択 保存します。

バグに添付ファイルを追加するには

  1. [添付ファイル] タブで、次のいずれかの操作を行います。

    • ファイルを添付ファイル領域にドラッグします。

    • CTRL-V を選択 貼り付け するか、コピーするファイルを貼り付けるします。

    • 追加添付ファイルの追加を選択し、参照を選択します。[添付ファイル] ダイアログ ボックスで、添付するファイルの名前を入力するか参照します。

      (省略可能) [コメント] ボックスには、添付ファイルに関する追加情報を入力します。添付ファイル のダイアログ ボックスを閉じるには、OKを選択します。

  2. 作業項目の保存を選択 保存します。

バグにハイパーリンクを追加するには

  1. すべてのリンク のタブで、リンク先を選択 リンクの追加します。

    ハイパーリンク アドレスの指定

  2. リンクの種類 の一覧で、ハイパーリンクを選択します。

  3. [アドレス] で、次のいずれかのタスクを実行します。

    • リンク先が Web サイトである場合は、[アドレス] ボックスに URL を入力するか、インターネット ブラウザーから URL をコピーして貼り付けます。

    • リンク先がサーバーである場合は、アドレスを UNC 名の形式で入力します。

  4. (省略可能) [コメント] ボックスには、ハイパーリンクに関する追加情報を入力します。

  5. OKを選択し、作業項目の保存を選択 保存します。

バグの解決と終了

チームは、バグの [状態] フィールドを次のいずれかの値に設定することで、バグの進行状況を追跡できます。

  • 提案済み

  • アクティブ

  • 解決済み

  • Closed

チーム メンバーがバグを作成すると、そのバグは既定で提案済みの状態になります。チームは、現在のイテレーションのバグを受け入れると、バグの状態をアクティブに変更し、必要に応じて、バグを実装するためのタスクを作成します。チーム メンバーは、バグを修正すると、その状態をアクティブから解決済みに変更します。修正が検証されたら、チーム メンバーはその状態を解決済みから終了に変更します。

バグの状態はどのチーム メンバーでも変更できます。また、後で説明するように、修正できないバグでも、他の理由によって解決済みまたは終了にすることができます。

作業項目の状態を追跡するために使用できるデータ フィールドの詳細については、「割り当て、ワークフロー、および計画 (CMMI)」を参照してください。

バグの状態を変更するには

  1. バグの作業項目フォームを開きます。

  2. 状態 の一覧で、アクティブ解決済み または 終了を選択します。

    • 状態を提案済みからアクティブに変更すると、[理由] フィールドが承諾済みに変わります。

    • 状態をアクティブから解決済みに変更すると、[理由] フィールドが修正済みに変わります。

    • 状態を解決済みから終了に変更すると、"理由" フィールドが検証済みに変わります。

  3. 作業項目の保存を選択 保存します。

通常のワークフローの流れ:

  • チーム メンバーが、既定の理由である新規を指定して、既定の状態である提案済みのバグを作成する。

  • チーム メンバーが、既定の理由である承諾済みを指定して、状態を提案済みからアクティブに変更する。

  • チーム メンバーが、バグを修正した場合、またはバグを修正できないと判断した場合、状態をアクティブから解決済みに変更する。

  • チーム メンバーが、バグが修正済みであることを確認した場合、またはバグを修正できないと判断した場合、状態を解決済みから終了に変更する。

例外的な遷移:

  • チーム メンバーが、既定の理由である却下を指定して、状態を提案済みから終了に変更する。

  • チーム メンバーが、既定の理由である調査完了を指定して、状態をアクティブから提案済みに変更する。

  • バグの検証テストが失敗する。したがって、チーム メンバーは、既定の理由である修正なしを指定して、状態を解決済みからアクティブに変更します。

  • 回帰テスト中、チーム メンバーは、終了となっているバグがまた出現していることを見つけると、バグの状態を終了からアクティブに変更します。

バグの状態

CMMI のバグの状態ダイアグラムまたはワークフロー

Ee332480.collapse_all(ja-jp,VS.110).gif提案済み (新規)

チーム メンバーがバグを作成すると、次のデータ フィールドが自動的にキャプチャされます。

  • [作成者]: バグを作成したチーム メンバーの名前。

  • [作成日]: バグが作成された日時 (サーバー クロックで記録された日時)。

Ee332480.collapse_all(ja-jp,VS.110).gif提案済みからアクティブへ

チーム メンバーは、次の表に示す理由によって、アクティブなバグを解決できます。

理由

使用する状況

追加で行う操作

承諾済み

トリアージ委員会が、現在のイテレーションにおける実装のバグを承諾したとき。

実装を担当するチーム メンバーにバグを割り当てます。

調査

トリアージ委員会が、チームがバグを実装するかどうかを決定する前に、顧客への影響を調査する必要があると判断したとき。

調査が完了したところで、バグの状態を提案済みに戻します。

チーム メンバーがバグの状態をアクティブに変更すると、次のデータ フィールドが自動的にキャプチャされます。

  • [アクティブ化した人]: バグをアクティブ化したチーム メンバーの名前。

  • [アクティブ化された日]: バグがアクティブ化された日時 (サーバー クロックで記録された日時)。

  • [状態の変更日]: バグの状態が変更された日時。

Ee332480.collapse_all(ja-jp,VS.110).gif提案済みから終了へ

チーム メンバーは、次の表に示す理由によって、提案済み状態のバグを終了できます。

理由

使用する状況

追加で行う操作

Rejected (却下)

トリアージ委員会が、バグを実装できない、または顧客がバグを必要としなくなったと判断したとき。

なし。

Duplicate

別のアクティブなバグが同じ問題を報告している場合。

重複バグを作成したチーム メンバーがバグを終了する前に重複を簡単に検証できるように、アクティブのままのバグへのリンクを作成します。

チーム メンバーがバグを終了すると、次のデータ フィールドがキャプチャされます。

  • [終了者]: バグを終了したチーム メンバーの名前。

  • [終了日]: バグが終了した日時 (サーバー クロックで記録された日時)。

  • [状態の変更日]: バグの状態が変更された日時。

Ee332480.collapse_all(ja-jp,VS.110).gifアクティブ

チームは、アクティブ状態のバグのみを修正する必要があります。バグの状態は、調査および修正中はアクティブのままになります。

Ee332480.collapse_all(ja-jp,VS.110).gifアクティブから解決済みへ

バグを解決する際、次の表に示す理由のいずれかを指定できます。

理由

使用する状況

追加で行う操作

修正済み (既定)

バグにより示される問題を修正し、問題が修正されたことを確認するための単体テストを実行して、変更されたコードをチェックインした後。

修正をチェックインする際、バグを変更セットにリンクします。

遅延

現在のイテレーションでバグを修正しない場合。バグは、チームが今後のイテレーションまたは製品バージョン用に再検証できるようになるまで、延期されます。

(省略可能) バグを今後のイテレーションまたはバックログに移動し、アクティブ状態のままにします。

Duplicate

別のアクティブなバグが同じ問題を報告している場合。

重複バグを作成したチーム メンバーがバグを終了する前に重複を簡単に検証できるように、アクティブのままのバグへのリンクを作成します。

仕様

バグが予測されるシステムの状態または動作を示している場合、またはバグが影響を与えるアプリケーション領域または要件のいずれかの承認基準外である場合。

なし。

再現不可能

チーム メンバーが、バグが報告する動作を再現できない場合。

なし。

廃止

バグがその製品に適用されなくなった場合。たとえば、バグが製品に存在しなくなった機能領域の問題を示している場合などがこれに該当します。

なし。

チーム メンバーがバグの状態をアクティブから解決済みに変更すると、次のデータ フィールドが自動的にキャプチャされます。

  • [解決者]: バグを解決したチーム メンバーの名前。

  • [解決日]: バグが解決された日時 (サーバー クロックで記録された日時)。

  • [状態の変更日]: バグの状態が変更された日時。

Ee332480.collapse_all(ja-jp,VS.110).gif解決済みから終了へ

バグの終了についてサポートされる理由は、検証済みであることのみです。

チーム メンバーがバグの状態を解決済みから終了に変更すると、次のデータ フィールドが自動的にキャプチャされます。

  • [終了者]: バグを終了したチーム メンバーの名前。

  • [終了日]: バグが終了した日時 (サーバー クロックで記録された日時)。

  • [状態の変更日]: バグの状態が変更された日時。

Ee332480.collapse_all(ja-jp,VS.110).gif解決済み

バグの修正を担当するチーム メンバーが、バグを修正して解決します。または、次の表に示すように、チーム メンバーが、他の理由によりバグを解決済みまたは終了にする必要があると判断する場合もあります。

Ee332480.collapse_all(ja-jp,VS.110).gif解決済みからアクティブへ

チーム メンバーは、次の表に示す理由によって、バグの状態を解決済みからアクティブに再度変更できます。

理由

使用する状況

追加で行う操作

修正なし

解決が承認できない場合、または修正が正しくない場合。

解決を否定する理由、または修正が正しく機能しなかった理由を詳しく説明します。この情報は、次にこのバグを担当するメンバーがバグの解決に役立てることができる内容にします。

テスト失敗

テストにより、バグがまだ存在していることが実証された場合。

どのビルドでどのテストが失敗したかを詳しく説明します。

チーム メンバーがバグを解決済み状態から再アクティブ化すると、次のデータが自動的にキャプチャされます。

  • [アクティブ化した人]: バグを再アクティブ化したチーム メンバーの名前。

  • [アクティブ化された日]: バグが再アクティブ化された日時 (サーバー クロックで記録された日時)。

Ee332480.collapse_all(ja-jp,VS.110).gifClosed

チーム メンバーは、バグによって示される問題またはコードの欠陥が再び出現する場合、または以前に修正されなかった場合、終了状態のバグをアクティブの状態にすることができます。

Ee332480.collapse_all(ja-jp,VS.110).gif終了からアクティブへ

終了となっているバグを再アクティブ化する際、次の表に示す理由のうちいずれかを指定できます。

理由

使用する状況

追加で行う操作

回帰

コードの後のビルドでバグが再出現した場合。

なし。

エラーによる終了

バグがエラーまたはその他の理由により終了していた場合。

なし。

チーム メンバーが終了状態からバグを再アクティブ化すると、次のデータが自動的にキャプチャされます。

  • [アクティブ化した人]: バグを再アクティブ化したチーム メンバーの名前。

  • [アクティブ化された日]: バグが再アクティブ化された日時 (サーバー クロックで記録された日時)。

参照

概念

Visual Studio ALM の作業項目フィールド参照

成果物 (CMMI)

その他の技術情報

作業項目とワークフロー (CMMI)