効果的な課題の報告は、プロジェクトをENHANCEMENT(改善)するプロセスと最終目標に達成するプロセスの手助けになります。このドキュメントは、効果的な課題の報告の書き方について短いチュートリアルを提供するように設計されています。
効果的な課題報告書の書き方効果的な課題報告には通常次の 2 つの事項が含まれています。
たとえば、次のようになります。 Web ブラウザのテストを行っているとします。 foo.com でクラッシュし、課題報告書を書こうとしています。
適切でない報告書:「ブラウザがクラッシュした。 foo.com にいたと思う。コンピュータでは Windows を使用している。これは重大な問題でできるだけ早急に解決した方がいいと思う。 ところで、あなたのアイコンはあまり良いとは言えない。こんな醜いアイコンを使っていると、誰もソフトウェアを使いたがらないよ。 ところで、私のおばあちゃんのホームページも正常に表示されない。めちゃくちゃだ。 幸運を祈る。」
より適切な報告書:「Windows NT 4.0 (Service Pack 5) のビルド 10.28.99 を使用していて foo.com に移動したときにクラッシュした。 Linux を再起動し、10.28.99 の Linux ビルドでも問題が再現された。
Foo バナーをページの上部で描画しているときにいつもクラッシュする。ページが壊れ、次の画像リンクを見つけたときにアプリケーションが繰り返しクラッシュする。これは、「border=0」属性を削除すると発生しない。
<IMG SRC="http://foo.com/images/topics/topicfoos.gif" width=34 height=44 border=0 alt="News">"
IssueZilla への効果的な課題報告書の入力方法:課題を入力する前に、IssueZilla のクエリーページを使って、発見したDEFECT(バグ)が既知の課題ですでに報告されていないかどうかを確認します。(課題が既存課題の 37 番目の複製である場合は、エンジニアにいらいらを募らせるだけになるでしょう。いらいらしているエンジニアはあまり多くの問題を解決できないものです。)
次に、最新のビルドで課題を再現できることを確認します。(エンジニアは、現在自分が作業しているコードベースに関係した問題により興味を持つものです。多くの問題の解決が先送りにされたコードベースへの課題は無視されてしまいます。)
最新のビルドを使って新しい課題を発見した場合は、IssueZilla に報告します。
ここから、フォームに必要事項を入力していきます。 次のステップに従います。
課題を見つけた場所、 製品: 課題を見つけた製品はどれですか。
このフィールドのデータは、前の画面で入力されます。
バージョン: 課題を見つけた製品バージョンはどれですか。該当する場合はバージョンを入力します。
コンポーネント: 課題が存在するコンポーネントはどれですか。IssueZilla では課題を見つけるコンポーネントを選択しなければなりません。(どれにも意味がないと思う場合は、コンポーネントのリンクをクリックして、各コンポーネントの説明を表示し、最良だと思うものを選択してください。)
プラットフォーム: 課題を見つけたのはどのハードウェア・プラットフォームですか。(Macintosh、SGI、Sun、PC など) 全プラットフォームでこの課題が発生することが分かっている場合は、「すべて」を選択します。それ以外の場合は、課題を見つけたプラットフォームを選択します。プラットフォームがリストにない場合は、「その他」を選択します。
OS:課題を見つけたのはどの OS(オペレーティング・システム ) ですか。(例えば、Linux、Windows NT、Mac OS 8.5 など) 全オペレーティング・システムでこの課題が発生することが分かっている場合は、「すべて」を選択します。それ以外の場合は、課題を見つけたオペレーティング・システムを選択します。オペレーティング・システムがリストにない場合は、「その他」を選択します。
課題の重要度は?
課題のタイプ: DEFECT(バグ)、ENHANCEMENT(改善)、FEATURE-REQUEST(機能の要求)、TASK(タスク)のうちどれですか。これは、既定で「DEFECT(バグ)」になっています。 (最も適切な課題のタイプを判断するには、選択肢の完全な説明を表示する課題のタイプリンクをクリックしてください。)
課題を担当する人は誰ですか。
担当者: この課題の修正に責任を持つエンジニアは誰ですか。
IssueZilla は、課題報告のサブミットの際に、既定のエンジニアに課題を割り当てます。異なるエンジニアに割り当てる場合は、テキスト・ボックスにエンジニアを手作業で入力します。(コンポーネントごとの既定エンジニアのリストを見るには、コンポーネントリンクをクリックします。)
注意: 割り当てフィールドは、ドロップダウン・ボックスまたはテキスト・ボックスとして構成できます。テキスト・ボックスでは割り当てるユーザの名前を手作業で入力できます。ドロップダウン・ボックスでは、リストされているユーザ名はプロジェクトでの直接ロールを持っています。
Cc: この課題の更新や変更について誰に E-Mail を送信しますか。
課題レポートに変更が加えられるたびに E-Mail による通知を受け取るべき個人のユーザ ID をリストします。必要な数だけ ID を追加できます。複数のユーザ ID を入力する場合は、ID をコンマで区切ります。アドレス間にはスペースを入力しないでください。
この課題についてエンジニアに何か追記したいことは?
URL:この課題を見つけた URL は何ですか。
特定の URL で課題が発生する場合は、ここにそれを入力します。 特定の HTML 部分に課題を特定できる場合は、その URL も指定します。
要約: 課題を 60 文字以下で説明するとどのようになりますか。要約は、素早くその課題報告を特定できるように入力してください。これにより、開発者が手作業で課題要約のクエリーを実行しなくてもよくなります。手作業によるクエリーの実行は、検索するページが 10 ページ超えるような場合には課題の特定が困難になります。
例として、「Tosh Tecra 780DVD w/ 3c589C で PCMCIA のインストールが失敗」という要約は良いタイトルです。 「ソフトウェアの失敗」や「インストール問題」は悪い例と言えます。
説明: この課題についてエンジニアに何か追記したいことは?このフィールドには、問題の診断についてできるだけ詳しい情報を提供してください。
該当する場合は、次の課題報告用テンプレートを使うと、すべての関連情報を確実に報告することができます。
概要説明: 要約をより詳しく説明したものです。例:ページでドラッグして選択すると、NSGetFactory の Mac ビルドがクラッシュする。再現するステップ: 課題を再現するために必要な最低限のステップを記述します。 特定のセットアップ用ステップも含めます。
1) 任意の Web ページを表示する。 (既定のサンプルページである resource:/res/samples/test0.htm を使用)。 2) ページをドラッグして選択する。 (特に、マウスボタンを押しながらマウスポインタをブラウザのコンテンツ領域からブラウザのコンテンツ領域の下部にドラッグする。)実際の結果:上記のステップを実行した後で、アプリケーションで起こった現象を記述します。
アプリケーションがクラッシュする。 MacsIssue から下に追加された crawl がスタックする。予期される結果:問題がない場合にアプリケーションが取るべき動作を記述します。
ウィンドウが下向きにスクロールするはず。 スクロールしたコンテンツが選択されるべき。 (または、アプリケーションがクラッシュするべきではない。)ビルドの日付とプラットフォーム:課題が最初に発生したビルドの日付とプラットフォームを記述します。
Mac OS で ビルド 11/2/99 (Viewer & Apprunner でチェック済み)ビルドおよびプラットフォーム追加情報:
ほかのプラットフォームやブラウザで課題が発生するかどうかを記述します。
- Seamonkey で発生 (Windows NT 4.0 の ビルド 11/2/99) - Seamonkey (Red Hat Linux の 11/4/99 ビルド、機能がサポートされていない) Internet er 5.0 (Windows 4.0 RTM ビルド) NetscapeCommunicator4.5 (Mac OS の RTM ビルド) では発生しない
その他の関連情報を記述します。クラッシュに関する課題の場合:
how
および sc
の結果を加えます。 gdb apprunner core
を入力して生成します。 *** MACSISSUE STACK CRAWL OF CRASH (Mac OS) Calling chain using A6/R1 links Back chain ISA Caller 00000000 PPC 0BA85E74 03AEFD80 PPC 0B742248 03AEFD30 PPC 0B50FDDC NSGetFactory+027FC PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0
可能性のあるエラーをもう一度全体的にチェックした後で、[コミット] ボタンを押します。課題報告が IssueZilla データベースに保存されます。