私は、内部システムのWebアプリケーション開発者です。ユーザーがバグがあることを報告します。
バグは、いくつかの単語を表示できなかったことです。レポートには、バグを明確に示す画面キャプチャが含まれています。しかし、レポートはほぼ1か月前のものであり、バグを本番環境で再現することはできません。
クライアントとユーザーにどのように返信すればよいですか?
私は、内部システムのWebアプリケーション開発者です。ユーザーがバグがあることを報告します。
バグは、いくつかの単語を表示できなかったことです。レポートには、バグを明確に示す画面キャプチャが含まれています。しかし、レポートはほぼ1か月前のものであり、バグを本番環境で再現することはできません。
クライアントとユーザーにどのように返信すればよいですか?
回答:
開発環境をバグが発見されたバージョンに戻し、バグがあることを確認します。
存在する場合は、バグを調査し、現在のバージョンにバグがないことを確認できます。次に、無関係な変更によって修正されたというコメントを付けてバグレポートを閉じます。必要に応じて回帰テストを追加します。
そのバージョンでバグを再現できない場合は、ここにある他の多くの質問で説明されている戦略が役立ちます(最初のリストについてはThomasに感謝します)。
バグを再現するためにできることはすべてできたが、できなかったと真剣に考えていると思います。
このような場合、多くの場合、実行中の作業の記録に失敗したアプリケーションの領域にコードを追加することをお勧めします。現在入手できない情報を把握する必要があります。たとえば、特定の入力パラメータのセットが送信されたときにのみ発生する可能性があるため、プロセスが実行されるたびにそれらを記録します。ただし、これを行う前に上司に確認してください。バグの重要性と発生した頻度によっては、上司がこれを行うために時間を費やしたくない場合があります。
次に、バグを報告した人に行きます(バグ追跡アプリケーションがある場合はこれを行うことができます、直接行く必要はありません)、あなたはバグを再現できなかったが、いくつかの追加バグが再発した場合にプロセスが実行していることの詳細を取得するためのロギング。その後、バグを閉じます。
追加のロギングを実行できない場合。バグが再現可能ではなかったこと、そして再びバグに遭遇した場合、これはあなたがそれを再現し、必要なものを伝えるために必要な情報であると報告するだけです。多くの場合、エラーが発生したときに入力したパラメータを正確に伝えるように依頼します。エラーのスクリーンショットを取得するだけで役立ちますが、エラーが発生したときにどの手順を実行し、どの情報を使用しようとしたかを正確に把握しておくと、さらに役立ちます。したがって、基本的には、エラーが再度発生した場合にエラーを報告するときに、より多くの情報を提供するために、それらに責任を負わせます。
バグトラッカーで、どの手順を試したかを必ず説明してください。これにより、バグが再び発生した場合、それを処理する人は以前に行われた作業の背景を把握できます。
再現性のないバッグは最悪です!それはその間に修正されたかもしれませんし、まだ残っているかもしれませんが、散発的であるか、再現手順が十分に指定されていません。バグのリスクの高さ、および調査の範囲を拡大するかどうかを判断する必要があります。オンラインのレシピマネージャーを作っていますか、それとも核ミサイル用の操縦制御ソフトウェアを作っていますか?
影響の少ないバグであり、意図せずに修正された可能性のある変更が行われたことがわかっている場合は、再現できないという注意でバグを閉じることは許容される可能性があり、修正されたと仮定します。
より懸念がある場合は、最初にバグの原因についていくつかの理論を作成し、変更ログとソース履歴を調べて、それが修正された場所を見つけることができるかどうかを確認できます。
より深刻なバグについては、ソースを最後のリリースの時点までロールバックしてから、再現を試みる必要があります。正常に複製できれば、後のコミットで修正されることを確認するテストを作成できます。