プログラマとテストエンジニアにバトル勃発!正しいバグ票の書き方とは?
バグレポートに関する問題はどこでも起きている
本記事は、バグの修正依頼として作成されるバグ票(バグレポート)を対象としています。プログラマが自身でデバッグを一通り終えた後で、テストを専門とするテストエンジニアにそのプログラムをテストしてもらい、その際に検出されたバグを報告してもらうための文書がバグレポートです。独立した部門でテストを実施している会社では、このような形態とバグレポートによる修正依頼が一般的だと思います。
本連載は、テストエンジニア向けに、バグ修正のプロセスにおいて非常に重要でありながら、あまり注目されていないバグレポートのあるべき姿をさぐってみたいと思います。
早速ですが、プログラマとテストエンジニアの間でこのようなやりとりがあるのを見たことはありませんか?
テストエンジニアとプログラマの間でこんなやりとりが起こっていませんか?
開発進捗会議にて
プロジェクトリーダ:
Aさん、そろそろデバッグが終わって単体テストもそろそろという状況なんじゃない?会員登録部はテスト部隊にもいろいろ試してもらって残っているバグを出してもらおう。
プログラマA:
はい。確かに。自分では一通り終えたつもりです。
テストエンジニアによるテストの最中・・
テストエンジニアB:
(なんだよ。まだまだバグだらけじゃないか・・・。ユーザがそこまで気を使って操作してくれると思ってるのかよ・・。仕様書に詳細がなくても、これくらいの入力ミスへのエラーメッセージくらい用意しとけよ。「住所は半角ではなく、全角で入力してください」だと?半角だとわかってるなら入力し直させるんじゃなくて、そっちで全角に変換しろよな。電話番号の欄が9, 10, 11桁を許してるけど、市外局番を含めて9桁の番号なんて、もうなくなったんだよ。いつの情報を使ってるんだ・・。)
テストリーダC:
Bさん、今週金曜日にはいったん開発チームに見つかったバグをリストにして返すつもりなんだ。見つかったもの順でかまわないからバグレポートを作成してリストにしてくれない?
テストエンジニアB:
はい。わかりました。
テストエンジニアB:
(えっと、まずはこの全角、半角を判別できているのに、ユーザに全角での再入力を強制する融通の利かない部分から起票しよう。)
Bさんは以下のようなバグレポートを起票し、開発チームへ報告しました。
図1:Bさんの作成したバグレポート(クリックで拡大) |
このバグレポートを見たプログラマAさんは・・・
プログラマA:
なんだよこのタイトルは!バグの報告じゃなくて、感想じゃないか。ユーザに入力し直してもらうのは、発注者が指定したフレームワークの機能を使っているからで、好きでやってるんじゃない。そんなこともわからずにテストしているのか。それにこれはバグじゃない。
プログラマAさんは原因と対処方法に以下のように書きました。
図2:Bさんのレポートに対してAさんが記入した原因と対処方法(クリックで拡大) |
テストエンジニアBさんは原因と対処方法を見て、怒り心頭、その返信に大きく時間を費やし、やりとりはしばらく続きました。
バグレポートはもともと危うい
プログラマにとっては、様々な制約のもとで苦労して書いたプログラムです。それをテストエンジニアに否定されるのは必ずしも気持ちのよいものではありません。文字中心の情報になりますので、感じたことをそのまま書くと、本来意図している内容が伝わらなくなる場合も少なくありません。このようなやりとりをBug ping pong(バグレポートがピンポン球のように行き交い続ける様子)と表現し、問題点を指摘するWebページもあります。日本だけで起こっている問題ではなく海外でも起こっています。
では、このようなやりとりの問題点はどこにあるのでしょうか。次のページで見てみましょう。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- バグレポートでテストエンジニアとプログラマが持つ“認識の違い”を埋めるには
- 「困った」バグレポートの数々から得た「正しい」レポートのための教訓とは
- 機能をモレなくテストするテンプレート
- エンジニアのスキルを伸ばす“テスト駆動開発”を学んでみよう
- 複雑化する要素技術
- ユーザーインタビューの環境準備と同席者への案内をしよう
- 「事前アンケートシート」のテクニックでスムーズにインタビューしよう
- 新卒とエンジニア歴14年目の世代を超えた対談ー 世代間ギャップを感じさせない協力関係
- 「ユーザー数1億人は見えてきた。」海外ユーザー96%の外国語Q&Aアプリ「HiNative」のこれまでとこれから。|株式会社 Lang-8喜洋洋
- 「まずは可視化コード書きから」めんどくさがり屋必見!できるだけ作業時間を減らすデバッグ術