優れたバグレポートを報告するには

バグは開発プロセスの避けては通れぬ部分です。バグに出くわすことはストレスのたまる経験かもしれませんが、発生している問題を特定して再現し、バグレポートを提出することで、このようなバグの問題をすばやく解消することができます。Appleでは、Appleの製品やソフトウェアに関する問題を記録するために、「フィードバックアシスタント」(http://feedbackassistant.apple.com)と呼ばれるアプリケーションおよびウェブサイトを提供しています

Appleのプラットフォームで開発中に発見されたバグについては、常にフィードバックを送信してください。そもそも問題を把握できなければ、解決することはできません。しかし、せっかく情報を提供しても、バグ修正が進まないということもあります。どうすれば、問題の効果的なトリアージにつながる情報を提供できるのでしょうか?ここでは、バグレポートの内容が明確で対応可能で、そして最も重要なこととして、修正可能なものにするための重要なヒントをいくつか紹介します。

段階的な説明を

新しいバグレポートをログに記録するときは、必ず明確で説明的な内容にしてください。発生しているバグに関する具体的なフィードバックを提供する場合でも、全般的なフィードバックを提供する場合でも、問題を詳細に説明してください。

まずはバグレポートのタイトルに、問題と発生要因の両方を明確に記述してください。たとえば、「カレンダーイベントが見つかりません」というタイトルは、カレンダーイベントに問題が発生しているということは明確ですが、その問題が発生した背景や理由をバグスクリーニング担当者に的確に伝えることはできません。一方で 、「macOS 10.15.4で、クイックイベント作成後にカレンダーイベントが表示されない」というタイトルは、より詳細な情報が一目で確認でき、重複するバグをスクリーニング担当者がより早く特定できる可能性が高くなります。

ヒント:多くの場合、詳細で明確な説明文はバグスクリーニング担当者にとって、問題がアプリケーション開発にどのような影響を与えているかを理解する手助けとなります。App開発中に問題が見つかった場合は、タイトルおよび説明フィールドの両方にAppの名前とそのバージョンを入力しましょう(サンプルプロジェクトで問題を再現できる場合も同様です)。App StoreのレコードまたはTestFlightビルドへのリンクを追加してください。

問題を記述するときは、各ステップを詳細に説明してください。対象のAppやシステムを見たことがない人がレポートを読むという前提で書くとよいでしょう。たとえば、「カレンダーでイベントを作成すると、すぐに消えてしまう」と記述した場合 、スクリーニング担当者に問題を再現するための十分な詳細情報を届けることはできません。 クイックイベントボタンを使用してカレンダーイベントを作成したのか、ドラッグして新しいイベントを追加したのかはっきりしません。「すぐに」がどれくらいなのかもわかりません。イベントが消えるのは、マルチタスクを行った後なのか、それとも同じAppの画面で操作を続けていた場合なのか、といった情報もわかりません。

バグスクリーニング担当者が読みながら都度こういった点について考えを巡らせていては、問題が迅速に解決される可能性が低くなってしまいます。上記のような曖昧な記述ではなく、バグを詳細に説明する次のような方法を考えてみてください。

1. カレンダーアプリでクイックイベントボタンをクリックする。 2. イベントに任意のタイトルを入力する。 3. Returnキーを押す。

実際の結果:イベントはカレンダーの適切な場所に表示されるが、その後画面から消える。

期待される結果:カレンダーイベントは適切に表示され、イベントはカレンダーに表示されたままになる。

再現手順と期待される結果を記入した後は、問題に影響を与える可能性のある追加要因を考えてみてもよいでしょう。iCloudにサインインしていますか?アクセシビリティ設定がオンになっていますか?問題は、OS周囲にある他の場所でも同様に発生しますか?最初のレポートで明確にできる点が多いほど、レポートを読む担当者がより速く効果的に問題を特定して、適切なチームや担当者に解決策を求めることができます。



ビジュアルを追加する

バグを再現し、バグが発生している様子をビデオやスクリーンショットで記録できる場合、このバグを記録した情報は問題のトラブルシューティングに非常に役立ちます。画面を使ったビジュアルでの記録は、説明フィールドに入力しなかった詳細情報を得る手助けとなります。特にUIに関連する問題の場合は、必ずビジュアル情報を追加してください。

クラッシュを記録する

残念ながら、再現不可能なバグもあれば、再現手順を実施するのが難しいバグもあります。より複雑なケースでは、sysdiagnoseのようなログ情報を提供することを検討してみてください。iPhoneまたはiPadでバグを報告する場合は、フィードバックアシスタントAppを使って自動でログを取得できます。AppleのWebポータルから、sysdiagnoseを手動で取得するのに役立つプロファイルをインストールできます。

また、問題に関連する追加のログも提供できます。たとえば、クラッシュが発生した場合は、Appのクラッシュログをレポートに追加できます。パフォーマンスの低下を報告する場合は、iOSまたはiPadOSではInstrumentsトレースを、macOSではサンプルを追加できます

デバッグプロファイルとログ取りによるバグレポートの強化

サンプルプロジェクトを作成する

App開発中に問題が発生した場合はどうでしょうか?その際は、コンパイルできる小さなサンプルプロジェクトに問題を隔離することを検討してください。これは、発生している特定のバグを絞り込むのに役立つだけでなく、Appleのバグスクリーニング担当者やエンジニアが、問題のトリアージをする最も簡単な方法の1つでもあります。サンプルプロジェクトを作成できない場合は、サンプルコードも参考になります。問題の絞り込みに役立つ追加情報はすべて、バグを解決する重要な手掛かりです。

レポートを上位担当部門にエスカレーションする

Apple Developer Program、Enterprise Program、またはMFi Programの有料メンバーで、製品リリースに関するAppleプラットフォームに技術的な問題が発生している場合は、テクニカルサポートへインシデントを提出することを検討してください。インシデントを提出することで、バグを修正できない場合や特定のテクノロジーの実装に問題がある場合、またはコードに関するその他の質問がある場合には、Appleフレームワーク、API、およびツールに関するコードレベルのサポートをリクエストできます。

Request technical support

Learn more about Feedback Assistant

Learn more about our privacy policy when filing bugs with Feedback Assistant