バグの再オープンと新規


55

バグが開かれ、修正され、検証され、閉じられました。1か月後、回帰なしに数回繰り返した後、次のバージョンで再び現れました。

バグの特性が同じであれば、既存のバグID を再度開くか、閉じたバグへのリンクを含む新しい IDを開きますか?

回答:


86

特性は原因と等しくありません。新しいバグは、同じように見えても、根本的な理由が異なる可能性があります。そのため、新しいバグを開き、古いバグを指摘して開発者を支援します。


23
+1多くありますdiffernt共有する異なる処理を伴う疾患の一般的な症状が。
FrustratedWithFormsDesigner

バグの原因が同じであることが判明した場合、それを再び開くと推測するのは公平でしょうか?
KMoraz

@KMoraz:私はそう思うだろうが、それは調査がそれがまったく同じ原因であることを証明した後に考慮されるべきものに過ぎない。症状はしばらく消えたので、システムの別の部分に導入されたバグである可能性はありますが、元のバグがコーディングされたのと同じ方法でコーディングされたため、同様の症状を引き起こすまったく同じバグである可能性は低いです。
FrustratedWithFormsDesigner

1
@KMorazいいえ 1.0で修正され、1.1には修正されていなかったが、1.2で再び登場したとします。課題トラッカーでサーバーリリースと一度に関連付けることができない限り、1.0で見つかって修正された履歴は失われます。新しいバグを開いてください。
アンディ

1
@アンディそれが何かを変えるとは思わないが、多分1.1はそれを持ち、誰も気付かなかった
...-joshuahedlund

35

それが検証されて閉じられ、しばらく動作し、何かが変更された後に再び表示された場合、それは同じバグではありません。古いバグと同じように現れることもありますが、原因は異なる可能性があります。したがって、同じバグではありません。だから、私はクローズドバグへのリンクで新しいものを開きます。


16

常に新しいバグを開きます。どうして?以前のバグと同一であることが判明し、以前のバグの修正をリリースしたとします。リリースノートには、「Fix Bug XXX」と記載されています。問題の追跡とリリースノートの明確化の観点から、「バグを修正する」よりも、新しいバグ「バグXXX + 1を修正する(原因と結果はバグXXXに似ていた)」と言う方が望ましいXXX(Again)」など。


2
パッチノートでバグIDを引用するのは、とても友好的ではありません。
トーマスボニーニ

3
@krelpベンダーと協力して問題を修正し、受け取ったバグIDをリリースノートのバグIDで追跡できる場合に役立ちます。
ダリルブラーテン

1
@Krelpそれは悪い考えですなぜ私が疑問に思ったので、私はここに尋ねた:programmers.stackexchange.com/questions/142258/...を おそらく、あなたはその上でいくつかの入力がありますか?:)
トラビスノースカット

これは良い点です
KMoraz

4

一般的に、新しいバグを開きます。

ただし、最初に調査を許可されている場合は、ソースコードで履歴確認します

チーム環境で作業している場合、誰かが自分のシステムに古いコードを持っている(つまり、元の修正がチェックインされた後、最新版を取得しなかった)場合があります。悪い練習は確かですが、それは「常に」起こります。

バグが修正されたファイルの履歴を見ると、可能性としてそれをすばやく確認または排除できます。


1
「(つまり、彼らは元の修正がチェックインされた後に最新のゲットしませんでした)、変更を加え、その後、差分を行うことなく、チェックイン」...それが起こる場合は、あなたのソース管理システムが壊れている
JoelFan

@JoelFan-必ずしもではありません。自動マージが正しく機能しない場合や、手動マージも正しく機能しない場合があります。それとも、それはちょうど私が言っているすべては、これは人為的ミスの匂いということで、ソース管理履歴の2分のチェック等、彼らは差分をしたとき、彼らは変更を逃した場合可能性があり、多くのを保存します面倒。
元気ウォンコ

1
とにかく、履歴を確認することは価値があります。ソース管理システムが壊れている場合、それを知りたいからです。
mjfgates

2
それが発生した場合all the time、壊れているのはSCMではなく、開発チームです
...-Daenyth

1

同じバグが最終的な原因ではない可能性があるため、新しいバグをオープンするという以前のポスターの提案に同意します。

私のさらなる推奨事項は、バグをカバーする単体テストと統合テストを常に追加し、将来のバージョンではクライアントに出る前に問題をすぐにキャッチできるようにすることです。クライアントにとって、同じバグが再発するのを見ると、何も悪く見えません。


1

最良の例えではありません-2人の症状が同じだからといって、病気/病気の原因が同じであるという意味ではありません。

ウィキペディアから:

ソフトウェアバグとは、コンピュータプログラムまたはシステムのエラー、欠陥、障害、または障害であり、不正確または予期しない結果を生成したり、意図しない動作を引き起こしたりします。ほとんどのバグは.....から発生します

バグはコードの欠陥であり、症状/影響があります。バグは症状ではありません。バグはコードのエラーです。症状が同じだからといって、同じ欠陥が症状を引き起こしていることを必ずしも意味するわけではありません。

私が理解しているのは、同じコードが原因でバグが発生していることが確実にわかっている場合は、バグを再度開く必要があるということです。これは、すべてのテストシナリオ/テストケースでコードが正しく動作するが、新しいテストケースや以前考えなかったテストケースでは動作しない場合に発生する可能性があります。この種のシナリオは一般的ではありません。

他のシナリオは、同じ症状が新しい欠陥、つまり同じコードの他の部分またはそのコードに影響する他のシステムの新しいバグによって引き起こされることです。

したがって、最も安全な方法は、同じ症状が発生したときに新しいバグを開くことです。同じ古いコードがバグの原因であることがわかった場合は、新しいバグを閉じて古いバグを再度開きます。そうでない場合は、新しいバグを残し、古いバグにリンクします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.