バグ (アジャイル)

このトピックでは、バグ作業項目の詳細を入力する方法について学習できます。 バグ作業項目を作成する方法については、「作業項目とワークフロー (アジャイル)」を参照してください。

このトピックの内容

関連トピック

バグの作成と追跡の概要

  • バグの定義

  • テスト ケースとバグのリンク

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

  • バグの解決と終了

プロセス ガイダンス

ブック

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

フィールド参照

必要なアクセス許可

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

バグの定義

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

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

バグの作業項目フォーム

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

バグを定義するには

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

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

    • [担当者] ボックスで、バグの修正を担当するチーム メンバーの名前をクリックするか、空白のままにして後でトリアージ中に割り当てます。

      注意

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

    • [理由] ボックスで、[ビルド エラー] をクリックするか、[新規] のままにします。

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

    • [区分] および [イテレーション] ボックスで、適切な区分とイテレーションをクリックするか、これらのフィールドを空白のままにして計画会議またはトリアージの際に割り当てます。

      注意

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

    • [順位] ボックスに、同じイテレーション内の他のバグとの重要度を比較した相対値で、バグの重要度を入力します。

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

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

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

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

  2. [詳細] タブで、次のような情報を 1 つ以上指定します。

    • [再現手順] には、別のチーム メンバーが、修正の必要がある問題について理解するための詳細な情報を入力します。

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

    • [履歴] ボックスに、必要に応じて詳細を入力します。

      ここに入力する内容は書式設定できます。

      チーム メンバーがバグを更新するたびに、履歴には変更日、変更を行ったチーム メンバー、および変更されたフィールドが表示されます。

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

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

      注意

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

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

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

  4. (省略可能) テスト ケースや別のバグなど、別の作業項目にバグをリンクします。

    これらのアクティビティの詳細については、このトピックの「テスト ケースとバグのリンク」を参照してください。

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

    注意

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

テスト ケースとバグのリンク

テスト ケースとバグをリンクすることにより、MSF for Agile Software Development 用に定義されている多くのレポートの正確性と完全性を確保できます。

既存のテスト ケースをバグにリンクするには

  1. [テスト ケース] タブで、リンクの追加 [リンク先] をクリックします。

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

  2. [リンクの種類] は既定値である [テスト担当者] のままにします。[テスト ケース] タブで追加するリンクでサポートされているリンクの種類はこれだけです。

  3. [作業項目 ID] に、バグをリンクする 1 つ以上のテスト ケースの ID を入力するか、[参照] をクリックして、リンクするテスト ケースを見つけます。 [担当テスト ケース] チーム クエリをクリックして、テスト ケースを検索し、リンクするテスト ケースの横のチェック ボックスをオンにします。

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

  4. (省略可能) リンクするテスト ケースの説明を入力します。

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

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

    注意

    リンクしたバグとテスト ケースの両方が更新されます。

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

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

  • [再現手順] または [履歴] の各フィールドに情報を入力します。

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

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

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

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

  1. [詳細] タブをクリックします。

  2. [再現手順] に情報を入力します。

  3. (省略可能) [履歴] に情報を入力します。

    テキストの書式を設定すると、強調文字や箇条書きリストを使用できます。 詳細については、「タイトル、ID、説明、および履歴 (アジャイル)」を参照してください。

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

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

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

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

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

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

      (省略可能) [コメント] ボックスには、添付ファイルに関する追加情報を入力できます。 [添付ファイル] タブに戻るには、[OK] をクリックします。

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

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

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

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

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

  3. [アドレス] ボックスに、リンク先のアドレスを入力します。

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

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

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

バグの解決と終了

バグが修正されたら、その状態をアクティブから解決済みに変更します。 修正が検証されたら、その状態を解決済みから終了に変更します。 バグの状態はどのチーム メンバーでも変更できます。 また、後で説明するように、修正できないバグでも、他の理由によって解決済みにすることができます。 詳細については、「割り当てとワークフロー (アジャイル)」を参照してください。

バグを解決または終了するには

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

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

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

      [理由] の値が正しいことを確認するか、別のオプションをクリックします。

      詳細については、このトピックの「アクティブから解決済みへ」を参照してください。

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

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

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

  • チーム メンバーが、既定の理由が "新規" でアクティブ状態のバグを作成します。

  • チーム メンバーがバグの状態をアクティブから解決済みに変更すると、バグが修正されたか、またはその他の理由であることを示します。

  • チーム メンバーが、修正済みとされているバグをテストして、修正されていることを確認すると、バグの状態を解決済みから終了に変更します。

その他のワークフローの流れ:

  • チーム メンバーが、解決済みとなっているバグが修正されていないことを発見するか、テストに失敗すると、バグの状態を解決済みからアクティブに変更します。

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

バグの状態

バグの状態ダイアグラム

アクティブ (新規またはビルド エラー)

チーム メンバーが、バグを作成してわかりやすいタイトルを付け、バグについてのできるだけ詳細な情報を [説明] に追加します。 バグの状態は、調査および修正中はアクティブのままになります。

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

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

理由

使用する状況

追加で行う操作

修正済み (既定)

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

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

遅延

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

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

重複

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

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

仕様

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

なし。

再現不可能

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

なし。

廃止

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

なし。

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

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

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

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

解決済み

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

解決済みから終了へ

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

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

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

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

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

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

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

理由

使用する状況

追加で行う操作

修正なし

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

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

テスト失敗

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

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

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

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

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

終了

チーム メンバーは、バグによって示される問題またはコード障害が再び現れた場合、またはそもそも修正されていなかった場合、終了のバグをアクティブに変更することができます。

終了からアクティブへ

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

理由

使用する状況

追加で行う操作

回帰

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

なし。

再アクティブ化済み

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

なし。

バグの状態が終了からアクティブに変わると、次のデータ フィールドが自動的にキャプチャされます。

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

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

参照

概念

トリアージ ブック

ユーザー ストーリー (アジャイル)

テスト ケース (アジャイル)

その他の技術情報

MSF for Agile Software Development v5.0

作業項目とワークフロー (アジャイル)