バグのライフサイクル

Android オープンソース プロジェクトでは、一般公開の Issue Tracker を使用して、バグを報告したり、Android ソフトウェア スタックの機能をリクエストしたりできます。Issue Tracker の詳細については、バグの報告をご覧ください。バグをご報告いただいている皆様には感謝を申し上げます。ところで、バグレポートを提出した後、どのような対応が行われるのか疑問に思われたことはないでしょうか。このページでは、バグのライフサイクルについてご説明します。

Issue Tracker は、カスタマー サポート フォーラムではありません。サポート情報については、Pixel ヘルプセンターをご覧ください。他のデバイスのサポートは、デバイス メーカーかデバイスを販売する携帯通信会社が行います。

Google アプリのサポートは Google のサポートサイトから行います。アプリ デベロッパーのサードパーティ アプリのサポートについては、Google Play の連絡先情報などをご覧ください。

バグのライフサイクルの主な段階は次のとおりです。

  1. バグが報告され、ステータスが [新規] になります。
  2. AOSP の管理者が定期的にバグを審査、分類します。バグは、[新規]、[オープン]、[アクション不要]、[解決済み] の 4 つのバケットのいずれかに分類されます。
  3. 各バケットには、問題の対応方法をより詳細に示す複数のステータスが含まれています。
  4. [解決済み] とマークされたバグは、今後の Android ソフトウェアのリリースに含まれます。

バケットの詳細

解決プロセスにおける問題のステータスを指定するには、Issue Tracker の [ステータス] フィールドを使用します。このフィールドはIssue Tracker のドキュメントの定義と一致します。

[新規] の問題

[新規] のステータスの問題には、未対応のバグレポートが含まれます。このステータスには次の 2 つの状態があります。

  • 新規: バグレポートは未分類です。つまり、AOSP の管理者によって確認されていません。
  • 新規 + ホットリスト: 情報が必要: バグレポートに情報が不足しているため、対応できません。分類するためには、バグの報告者が詳細を追加する必要があります。十分な時間が経過し、かつ新しい情報が提供されない場合、バグはデフォルトで [アクション不要] のステータスになり、クローズされます。

[オープン] の問題

このバケットに含まれるバグはアクションが必要ですが未解決です。ソースコードの変更は保留中です。

  • 割り当て済み: バグレポートは、対処すべき問題に関するレポートであり、十分な説明が存在するものとして認識されています。バグは特定のコントリビューターに割り当てられ、評価と分析が行われます。
  • 受け入れ済み: バグを割り当てられた担当者が問題を確認し、作業を開始しています。

バグは通常、まず [割り当て済み] となり、誰かがその問題を解決しようとするまでそのステータスを維持します。問題解決のための作業が開始されると [受け入れ済み] に変わります。ただし、必ずこのフローどおりに処理されることは保証されません。バグが [割り当て済み] から直接 [解決済み] ステータスのいずれかに変更されることもあります。

一般的に、バグが [オープン] ステータスのいずれかの状態であれば、AOSP チームはその問題を対処すべき問題として認識します。また、そのバグを修正するための品の高い投稿があれば、高い確率で受け入れられます。ただし、特定のリリースまでに修正が完了することは保証されません。

[アクション不要] の問題

このバケットには、アクションが不要とみなされたバグが含まれています。

  • 修正なし(再現不可能): AOSP のコントリビューターは、レポートで説明されている現象を再現しようとしたものの再現できませんでした。この状態では、バグが対処すべき問題であるものの、まれに発生する問題であるか再現が困難な問題であったり、問題の解決に十分な情報がなかったりします。
  • 修正なし(意図された動作): AOSP の管理者が、レポートで説明されている動作がバグではなく、意図された動作であると判断しました。このステータスは、一般に「仕様どおりに機能している(WAI)」と呼ばれます。機能リクエストの場合、リクエストが Android で実装されることはないと AOSP の管理者が判断しました。
  • 修正なし(サポート終了): プロダクトの変更により、問題に対処する必要がなくなりました。
  • 修正なし(修正不可): 問題に対処するために必要となる変更が合理的に不可能と判断されました。このステータスは、AOSP では対処できない問題にも使用されます。これは多くの場合、カスタマイズされたデバイスや外部アプリに関連した問題や、報告者が Issue Tracker をヘルプ フォーラムと取り違えている場合です。
  • 重複: すでに同一のレポートが Issue Tracker に存在します。問題に対する実際のアクションは、そちらのレポートで報告されます。

[解決済み] の問題

このバケットには、すでに対処され、解決済みとみなされたバグが含まれます。

  • 修正済み(検証済み): バグは修正され、正式リリースに含まれています。このステータスが設定されると、どのリリースで修正されたかを示すプロパティも設定されます。
  • 修正済み: バグはソースツリーで修正済み(または機能が実装済み)ですが、まだ正式リリースに含まれていない可能性があります。

その他

上記のステータスとライフサイクルは、ソフトウェアをトラッキングするための通常の方法です。 しかし、Android には多くのソフトウェアが含まれており、バグの数もそれに比例して多くなります。そのため、バグによっては正式なステータス フローとは異なるフローで処理されることがあります。Google では、システムを最新の状態に保つよう努めており、定期的にバグスイープを行ってデータベースを確認し必要な更新を行っています。