正しいバグレポートの書き方:詳細編


先日の記事では、正しいバグレポートを書くには3つの情報を含めてほしい、ってことを書いた。実はこれって、バグレポートに限らず、すべてのコミュニケーションで気をつける事だよね。コミュニケーションは、自分が言いたい事を言うだけではだめで、相手が何を知らないかを推測しながらでないと成り立たない。メールみたいな、顔を突き合わせるわけではないコミュニケーションではなおさら。

これとは別に、バグレポートならではの情報ってのもある。詳細なバグレポートを書くには、この情報も必要だ。これもまとめてみた。ただ、一般ユーザにここまで求めるのは酷なので、無理にやらなくてもいいですよ。開発プロセスでテストを行うときは、テスターの人にはこういった情報を要求しているので参考までに。

デバイスの名前、iOSとアプリのバージョン
問題が発生したデバイスはの、正確な名前は?「iPhone!」それは正確じゃない。iPhoneたくさんの機種が出ているんで。iPhoneのどの機種?「白いiPhone!」それもあんまり正確じゃない。でも実は、この情報でiPhone 4以降ということは絞り込めたりする。ちゃんと、iPhone 3GSとか、iPhone 4とか、iPad 2とか、iPod touch 3rd generationとかって教えて。ただデバイスに名前書いてないから、分からない人は分からないよね。こういうときAppleの美意識は不便だ。

あと、iOSのバージョン、およびアプリのバージョンも教えて。できれば、アプリの名前も。意外に多いのが、アプリの名前が書かれていないバグレポート。アプリ毎にアドレスを用意できるような大きい会社ならいいけど、サポートのメールアドレスが1つしかない場合、何のアプリの問題なのか分からない。頭をフルスロットルで回転させて、文脈から想像する事になる。リアル推理小説だ。

正しい用語を使う
iPhoneの部品やiOSのユーザインタフェースは、名前がきちんと決められている。この定義された名前をきちんと使ってほしい。たとえば、よくアプリケーションの上部にあって、戻るボタンなんかが配置されていて、タイトルが書いてあるバーの名前は?答えは、ナビゲーションバー。よくある間違えは、ツールバー。

中途半端に間違った名前を使うよりは、「上の方にあるバー」とか、「右上にある三角のボタン」とか言ってもらった方が、実は問題が少ない。ベタだけど誤解が発生しないものの方がいい。重要なのは意図を正確に伝える事で、スマートに見せかける事ではない。

再現手順の確立
これが、いちばん重要な情報。問題が発生したとき、その問題をどうやればもう一度起こす事ができるのか、その手順が知りたい。これはもう、のどから手がでるほど知りたい。

もし再現手順が確立できれば、その問題はかなりの確率で修正する事ができる。逆にどうやって発生したのか分からない問題は、非常にてこずることになる。バグ修正作業の大きな時間を取られるのは、再現手順を調べる事だったりする。

再現率
再現手順と並んで重要なのが、再現率。どの程度の頻度でその問題が発生した?毎回?たまに?それとも、1回だけ?もちろん、再現率が高い問題の方が、修正しやすい。テスターの人にお願いするときは、100回の試行中に何回発生したか、という風に報告してもらう。

クラッシュレポート
アプリはクラッシュしたときに、どこでクラッシュしたのかを吐き出してくれる。これがクラッシュレポート。実はクラッシュレポートは、アプリの中に蓄積されている。これがあるタイミングでAppleに送信されて、開発者が参照する事ができる。クラッシュレポートが集まってくれば、問題は修正しやすい。

いつ送信されるかというと、iPhoneをiTunesと同期するときに、「お使いのiPhoneには、アップルが製品を改善するうえで役立つ診断情報が保存されています」とかいうアラートが出るときがあるでしょ。あのとき。あそこで「アップルに送信」を押すと、クラッシュレポートが送られるはず。これが役に立つので、送ってくれれば嬉しいです。

    • Takayoshi Nakao
    • 2012年 3月5日

    あと、レポートする人が考える、”正しい振るまい”,”こうあってもらいたい”と”実際今どうなってるか” も書いてもらいたいですよね。

    Apple では Radar っていうBug reporting system を使ってます。
    そのフォーマットは、一般にもRadar Web という形で公開されてます。
    https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/wa/signIn
    このパターンでうん10年も使っているので、参考になるかもしれません。

      • mkino
      • 2012年 3月5日

      Radar Webですと、書いてもらう項目は、

      ・Summary
      ・Steps to Reproduce
      ・Expected Results
      ・Actual Results
      ・Regression
      ・Notes

      ってことですね。これを前回の記事「正しいバグレポートの書き方」と対応付けると、

      「どんな操作をして」が「Steps to Reproduce」
      「どんな結果を期待していたのに」が「Expected Results」
      「どんな結末になった」が「Actual Results」

      ってことですかね。考えることは、だいたいどこも同じですよね。

    • 伊佐美稚子
    • 2012年 9月10日

    error:1205で、ページが開けませんとでました。どうしたらいいでしょうか。

  1. トラックバックはまだありません。