バグ報告の方法

何かソフトの不具合に遭遇したとき、開発者に何を伝えればいいか。
開発の経験があれば何を伝えるべきかは直感的にわかるのですが、
経験が無いと、どうしていいか分からないことも多いようです。


要するに「バグ報告の方法」なんですが、良い文章は巷にたくさんあるので、
ここでは簡単に書いてみます。*1

【鉄則】開発者の手元で再現させることを最優先に考える

その不具合が、開発者の手元で再現すれば、バグ修正の80%は完了したようなものです。
そのため、ユーザとしては、開発者の手元で再現させる、というのをゴールとして考えましょう。
原因が何か、悪いのはどこか、は、まずは考えなくていいです。開発者が再現できれば、それはすぐに分かります。


再現させるためは、どんな情報を伝えればいいか。

  • 発生事象
    • 何が起きたか、をできるだけ正確に伝えてください。
    • エラーメッセージならその内容を正確に。画面がおかしいなら、できればスクリーンショットを。
    • 報告で割と抜けがちなのですが、同じ操作をすると100%起きるのか、1%なのか、も、重要な手掛かりになります。
    • どれくらいの頻度でそれが起きるのか、も教えてください。
  • 操作手順
    • 何をしたか、をできるだけ正確に伝えてください。
    • 何か操作をしたなら、最初から他人がその操作を繰り返せるだけの情報を。
    • 操作手順がはっきりしない、或いは放置していたら起きた場合でも、○○をした後○分くらい放置、等、思い出せるだけの情報をください。
  • 発生環境
    • 同じ操作をしても、環境によって起きたり起きなかったり、ということは良くあります。
    • 開発者の環境を、あなたの環境と全く同じにするのが理想です。
    • そのための情報をください。具体的には、以下のような情報です。
      • PCの簡単なスペック(CPUの速度、メモリの量くらい)
      • OS(できればサービスパック等のパッチの状態も)
      • 問題がおきたソフトのバージョン(できるだけ詳しく)
      • 問題がおきたソフトの設定状況(できるだけ詳しく)
      • 他のソフトと関連して動くソフトなら、その関連するソフトについても、できればバージョンと設定状況をください。


これらの情報は小出しにせず、なるべくいっぺんに伝えた方が、お互いの時間の節約になります。
とはいっても、特に環境なんかは、何を伝えればいいか難しいですね。まずは、OSとソフトのバージョンだけでも伝えてください。
それ以上に情報が必要であれば、開発者の方から、○○をください、○○はどうなっていますか、と聞きます。

恐れなくていいです

バグ報告をすると気分を害するのではないか。もしかしてこれはバグではなく、自分の操作が間違っているのではないか。
或いは、このソフトではなく、関連するソフトの方が悪いのではないか。


…そんなことを考えて、報告に尻込みする方も居るかと思いますが、心配しなくていいです。
「一般的に言って」開発者は、バグ報告をされて気分を害することはないです。


また、報告した結果、それが実はバグではなかったとしても、操作誤りをバグだと思ったり、関連するソフトの不具合を誤認したりしたのであれば。
もしかすると、エラーメッセージ等のユーザインタフェースが良くない、或いはFAQなどのドキュメント類が足りないのかもしれません。
それは、極論すれば、広い意味で「そのソフトの不具合」です。

*1:もっと長くて示唆に富んで面白い文章は ここ http://www.unixuser.org/~ueno/bugs-ja.html にあります。