バグ (CMMI)

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

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

このトピックの内容

関連トピック

  • バグの定義

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

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

  • バグの状態の変更

プロセス ガイダンス

ブック

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

フィールド参照

必要なアクセス許可

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

バグの定義

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

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

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

   

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

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

バグを定義するには

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

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

    • [根本原因] ボックスで、エラーの原因をクリックします。

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

    • [担当者] ボックスで、バグを修正チーム メンバーの名前をクリックします。

      注意

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

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

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

    • [区分] および [イテレーション] ボックスで、適切な区分とイテレーションをクリックします。

      注意

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

    • [優先度] ボックスで、バグの重要度を 1 (最も重要) ~ 4 (最も重要ではない) の範囲で指定します。

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

    • [重大度] ボックスで、プロジェクトへのバグの影響を示す値をクリックします。

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

    • [トリアージ] ボックスで、トリアージのサブ状態をクリックします。

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

    • 問題があるためバグの解決に向けた作業の進行がブロックされている場合は、[ブロック] ボックスで [はい] をクリックします。

  2. [再現手順] タブに、別のチーム メンバーが修正する必要のある問題について理解するために必要な情報をできる限り詳細に記述します。

  3. [詳細] タブに、別のチーム メンバーが修正する必要のある問題について理解するために必要な情報をできる限り詳細に記述します。

    • [症状] (必須) に、発見されたコードの欠陥または予期しない動作を記述します。

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

  4. [システム情報] タブで、次の情報を 1 つ以上指定します。

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

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

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

  5. [システム情報] タブに、バグが発見されたソフトウェア環境を記述します。

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

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

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

  7. [その他] タブで、次の種類の情報を 1 つ以上指定します。

    • [発見されたビルド] ボックスで、潜在的な欠陥が見つかったビルドの名前をクリックまたは入力します。

      注意

      各ビルドには、関連付けられた一意のビルド名があります。 ビルド名を定義する方法については、「ビルド番号のカスタマイズ」を参照してください。

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

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

  8. [テスト ケース] および [すべてのリンク] の各タブでは、バグからタスク、変更要求、テスト ケース、その他のバグなどの他の作業項目へのリンクを作成できます。

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

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

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

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

  9. 作業項目ツール バーの 保存 [作業項目の保存] をクリックします。

    注意

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

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

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

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

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

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

    • テスト ケースを作成してリンクを設定するには、[テスト ケース] タブをクリックし、リンクされた新しい作業項目の追加 ([新規]) をクリックします。

    • その他の種類の作業項目を作成してリンクを設定するには、[すべてのリンク] タブをクリックし、リンクされた新しい作業項目の追加 ([新規]) をクリックします。

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

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

  2. [リンクの種類] ボックスで、既定値をそのまま使用するか、次のいずれかのオプションをクリックします。

    • テスト ケースへのリンクを作成するには、[テスト担当者] をクリックします。

    • その他の種類の作業項目へのリンクを作成するには、[関連] または追跡する関係を表す別の種類のリンクをクリックします。

  3. [作業項目の種類] ボックスで、作成する作業項目の種類をクリックします。

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

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

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

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

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

  8. 保存 [作業項目の保存] をクリックします。

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

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

    • 1 つ以上のテスト ケースにリンクを設定するには、[テスト ケース] タブをクリックし、リンクの追加 ([リンク先]) をクリックします。

    • 1 つ以上のその他の種類の作業項目にリンクを設定するには、[すべてのリンク] タブをクリックし、リンクの追加 ([リンク先]) をクリックします。

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

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

  2. [リンクの種類] ボックスで、既定値をそのまま使用するか、次のいずれかのオプションをクリックします。

    • テスト ケースへのリンクを作成するには、[テスト担当者] をクリックします。

    • その他の種類の作業項目へのリンクを作成するには、[関連] または追跡する関係を表す別の種類のリンクをクリックします。

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

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

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

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

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

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

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

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

  7. [OK] をクリックし、保存 [作業項目の保存] をクリックします。

    注意

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

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

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

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

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

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

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

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

  1. [ステップの再現][詳細][システム情報][修正] のいずれかのタブをクリックします。

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

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

  3. 保存 [作業項目の保存] をクリックします。

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

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

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

    • 貼り付け をクリックするか、Ctrl キーを押しながら V キーを押して、コピーしたファイルを貼り付けます。

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

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

  2. 保存 [作業項目の保存] をクリックします。

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

  1. [すべてのリンク] タブで、リンクの追加 ([リンク先]) をクリックします。

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

  2. [リンクの種類] ボックスで、[ハイパーリンク] をクリックします。

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

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

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

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

  5. [OK] をクリックし、保存 [作業項目の保存] をクリックします。

バグの解決と終了

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

  • 提案済み

  • アクティブ

  • 解決済み

  • 終了

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

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

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

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

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

  2. [状態] ボックスで、[アクティブ][解決済み]、または [終了] をクリックします。

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

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

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

  3. 保存 [作業項目の保存] をクリックします。

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

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

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

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

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

例外的な遷移:

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

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

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

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

バグの状態

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

提案済み (新規)

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

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

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

提案済みからアクティブへ

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

理由

使用する状況

追加で行う操作

承諾済み

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

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

調査

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

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

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

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

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

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

提案済みから終了へ

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

理由

使用する状況

追加で行う操作

Rejected (却下)

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

なし。

重複

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

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

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

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

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

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

アクティブ

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

アクティブから解決済みへ

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

理由

使用する状況

追加で行う操作

修正済み (既定)

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

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

遅延

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

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

重複

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

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

仕様

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

なし。

再現不可能

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

なし。

廃止

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

なし。

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

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

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

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

解決済みから終了へ

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

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

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

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

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

解決済み

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

解決済みからアクティブへ

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

理由

使用する状況

追加で行う操作

修正なし

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

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

テスト失敗

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

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

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

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

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

終了

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

終了からアクティブへ

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

理由

使用する状況

追加で行う操作

回帰

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

なし。

エラーによる終了

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

なし。

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

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

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

参照

その他の技術情報

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

成果物 (CMMI)