スマートな方法でバグを報告する方法[終了]
-
04-07-2019 - |
質問
ESRのスマートな方法で質問する方法
効果的なバグ報告のための一番のヒントは何ですか?
解決
- バグの再現方法に関する段階的な説明
- 原因となる可能性のある何かではなく、実際にバグを記述しているものにバグを切り分けようとしたことを確認してください。
- リストは、あなたがバグを書いているソフトウェア以外のものにバグを隔離しようとします
- 質問に答えたり、バグのトラブルシューティング/再作成に役立つようになります
一番下の行は、バグに遭遇したときに、あるレベルの批判的思考を行う必要があるということです。それがあなたのせいかもしれないすべての可能性を使い果たしたら、バグを書いてください。障害を見つけたが、使用/テストしているソフトウェアが障害を示すためにもっと使いやすいものを実行している可能性がある場合は、バグを記述してください。
また、真に優れたバグ報告者になるには、バグのテストを行う人が自分でバグを再現しなければなりません。たぶん、「コツをつかんだ」だけです。そのバグを再現し、あなたが意識していないステップがあるかもしれません。文句を言って立ち去り、プロセスに参加し、テスト、再作成、トラブルシューティングを行ってチームを支援することはできません。
他のヒント
観察可能な事実を報告し、次にそれらの事実の解釈をします。
最良のバグレポートには、問題を理解したという直感的なものが含まれる場合があります。事実のみのバグ報告は、この貴重な人的資源を割り引いています。
- バグの再現手順は、何が行われていたか、アプリケーションのどの領域が使用されていたか、その時点でどのイベントが発生していたかなどです。
- 再現性のステートメント(信頼できる、そうではない)-開発者が再現するのがどれだけ難しいかを知るのに役立ち、すぐにgiveめないようにします
- 生成されたエラーメッセージ/スタックトレースのスクリーンショットまたはドキュメント
- バグの重要度/優先度(回避、回避手順、破局的、ビジネスへの影響、ビジネス上のリスクなど)
- 環境-バグが見つかった環境。リモート、ローカルなど。
多くの場合、QA担当者はチケットを入れるだけでよいと考えています。バックアップ文書なしでここに例外があります。情報を入手せずに問題を修正することはもちろん、再現することはほぼ不可能です。
バグレポートの読者があなたと同じようにソフトウェアを知っていると思い込まないでください。ソフトウェアを書いた人でさえ、それを書いてから十分な時間が経過した場合、あなたが話していることを知らないかもしれません。問題を誰でもが理解して再現できるように書いてください。
この記事を推奨:効果的にバグを報告する方法
再現手順なしで何かを見ないすべての人々のために:
私の最初のプログラミング協力の仕事には、本質的にシステムを不安定にするランダムな競合状態であるバグが割り当てられました。それはシステム実行の任意の時点で発生し、私たちが持っていたのは、かなり明らかにコードのセクションを指し示すいくつかのスタックトレースだけでした。別のスレッドがデータをいじっていたはずがありません。このスレッドが適切なポイントにあった場合、クラッシュします。私たちのQAは月に1回程度クラッシュしました。犯人を見つけて(いや、共有リソースへの未チェックのアクセス、約2行の修正)システムを調べて修正するのに2週間かかりました。再現するための一般的な方法がなかったため、まともな再現手順はありませんでした(適切な場所にyield()の束を押し込んで保存してください)。マルチスレッドシステムで作業する場合は、確実に再現できないバグ、再現するための安定した手順がない可能性があるバグ、およびバグを再現できなかったためにQAに声を出さないバグに対処する準備ができている。
上記はQAが可能な限り詳細を含めないことの言い訳ではなく、最新のソフトウェアでは常に可能であるとは限らないことに注意してください。
バグを再現する手順を記述します。再現できない場合、修正されません。
- 常にテスト中のソフトウェアのバージョン番号を報告する
- 常に他のソフトウェア(ブラウザ、OSなど)のバージョンを報告します
- 常にすべてのハードウェアを一覧表示
- 再現手順
- バグの症状
- スクリーンショット、トレース、ログ、その他の添付ファイル(ある場合)
- 重大度-クラッシュ、UIなど
- 再現性があるかどうかを報告する
- バグを再現した、または再現しなかった他のすべての試み