Bug dibuka kembali vs. baru

55

Bug dibuka, diperbaiki, diverifikasi, dan ditutup. Sebulan kemudian, itu muncul lagi dalam versi berikutnya setelah beberapa iterasi tanpa regresi.

Asalkan karakteristik bugnya sama, apakah Anda akan membuka kembali bug ID yang ada atau membuka yang baru dengan tautan ke bug yang ditutup?

KMoraz
sumber

Jawaban:

86

Karakteristik penyebabnya tidak sama. Bug baru bisa memiliki alasan mendasar yang berbeda, meskipun tampaknya sama. Jadi, buka bug baru dan arahkan ke bug lama untuk membantu pengembang.

Dibbeke
sumber
23
1 ada banyak differnt penyakit dengan perawatan yang berbeda yang berbagi umum gejala.
FrustratedWithFormsDesigner
Apakah adil untuk menyimpulkan bahwa jika bug terbukti memiliki penyebab yang sama, Anda membukanya kembali?
KMoraz
@ Koror: Saya kira begitu, tapi itu hanya sesuatu yang harus dipertimbangkan setelah penyelidikan membuktikan bahwa itu penyebab yang sama persis . Karena gejala-gejalanya menghilang untuk sementara waktu, tidak mungkin itu bug yang sama persis , meskipun itu bisa saja bug yang dimasukkan ke bagian berbeda dari sistem, tetapi mengkodekan dengan cara yang sama dengan bug asli yang dikodekan sehingga menyebabkan gejala yang sama.
FrustratedWithFormsDesigner
1
@Koraz, saya akan mengatakan tidak. Misalkan itu diperbaiki di 1.0, 1.1 tidak memilikinya, tetapi muncul kembali pada 1.2. Kecuali jika pelacak masalah Anda memungkinkan Anda mengaitkannya dengan rilis serveral sekaligus, Anda akan kehilangan riwayat ditemukan dan diperbaiki di 1.0. Cukup buka bug baru.
Andy
1
@Andy Jangan berpikir itu mengubah apa pun, tapi mungkin 1.1 memilikinya dan tidak ada yang memperhatikan ...
joshuahedlund
35

Jika itu diverifikasi dan ditutup, dan berfungsi untuk sementara waktu, dan kemudian muncul lagi setelah sesuatu diubah, maka itu bukan bug yang sama. Ini mungkin memanifestasikan dirinya sama seperti bug lama, tetapi penyebabnya mungkin berbeda. Jadi itu bukan bug yang sama. Jadi saya akan membuka yang baru, dengan tautan ke bug yang ditutup.

Joonas Pulakka
sumber
16

Buka bug baru, selalu. Mengapa? Misalkan ternyata identik dengan bug sebelumnya, dan Anda telah merilis perbaikan untuk bug sebelumnya. Catatan rilis Anda akan mendokumentasikan bahwa "Perbaiki Bug XXX." Dari sudut pandang pelacakan masalah dan membuat catatan rilis lebih jelas, lebih baik merujuk pada bug baru "Perbaiki Bug XXX + 1 (yang memiliki sebab dan akibat yang sama dengan Bug XXX)" daripada mengatakan "Perbaiki Bug XXX (Lagi) "atau yang serupa.

James McLeod
sumber
2
Mengutip ID bug di catatan tempel hanya .. sangat tidak ramah.
Thomas Bonini
3
@ krelp Sangat membantu ketika Anda bekerja dengan vendor untuk memperbaiki masalah dan Anda dapat melacak ID bug yang Anda terima dengan id bug di catatan rilis.
Darryl Braaten
1
@ Krelp Saya bertanya-tanya mengapa itu ide yang buruk, jadi saya bertanya di sini: programmers.stackexchange.com/questions/142258/... Mungkin Anda punya beberapa masukan tentang itu? :)
Travis Northcutt
Ini adalah poin yang bagus
KMoraz
4

Secara umum, buka bug baru.

Namun, jika Anda diizinkan melakukan penyelidikan terlebih dahulu, saya akan memeriksa riwayat Anda dalam kode sumber .

Jika Anda bekerja di lingkungan tim, seseorang mungkin memiliki kode lama pada sistem mereka (yaitu, mereka tidak melakukan Dapatkan Terbaru setelah perbaikan asli diperiksa di), membuat perubahan, dan kemudian check in tanpa melakukan diff. Latihan yang buruk, tentu saja, tetapi itu terjadi "sepanjang waktu."

Melihat riwayat file di mana bug diperbaiki akan dengan cepat mengkonfirmasi atau menghilangkannya sebagai suatu kemungkinan.

Wonko the Sane
sumber
1
"(yaitu, mereka tidak melakukan Dapatkan Terbaru setelah perbaikan asli diperiksa di), membuat perubahan, dan kemudian memeriksa tanpa melakukan diff" ... jika itu terjadi sistem kontrol sumber Anda rusak
JoelFan
@ JoelFan - belum tentu. Kadang-kadang gabungan otomatis tidak berfungsi dengan benar, dan kadang-kadang gabungan manual tidak berfungsi dengan benar. Atau, mungkin saja mereka kehilangan perubahan ketika mereka melakukan perbedaan, dll. Yang saya katakan adalah ini berbau kesalahan manusia, dan pemeriksaan 2 menit dari sejarah kontrol sumber dapat menghemat banyak merepotkan
Wonko the Sane
1
Memeriksa riwayat itu bermanfaat ... karena jika sistem kontrol sumber Anda rusak, Anda ingin mengetahuinya.
mjfgates
2
Jika itu terjadi all the time, itu bukan SCM yang rusak, itu tim pengembangan Anda ...
Daenyth
1

Saya setuju dengan saran poster sebelumnya untuk membuka bug baru karena mungkin tidak berakhir sebagai penyebab root yang sama.

Rekomendasi saya selanjutnya adalah untuk memastikan Anda selalu menambahkan tes unit dan integrasi yang mencakup bug sehingga dalam versi yang akan datang Anda menangkap masalah segera sebelum keluar ke klien Anda. Tidak ada yang tampak lebih buruk bagi klien kemudian melihat bug yang sama kembali.

Mike Parkhill
sumber
1

Bukan analogi terbaik - Hanya karena gejalanya dua orang sama, bukan berarti penyakit / penyebab penyakitnya sama.

Dari wikipedia:

Bug perangkat lunak adalah kesalahan, cacat, kegagalan atau kesalahan dalam program atau sistem komputer yang menyebabkannya menghasilkan hasil yang salah atau tidak terduga, atau berperilaku dengan cara yang tidak disengaja. Sebagian besar bug muncul dari .....

Bug adalah cacat dalam kode dan memiliki gejala / efek. Bug bukanlah gejalanya. Bug adalah kesalahan dalam kode. Hanya karena gejalanya sama, itu tidak selalu berarti bahwa kesalahan yang sama menyebabkan gejala.

Pemahaman saya adalah bahwa Anda harus membuka kembali bug ketika Anda tahu pasti bahwa bug disebabkan karena potongan kode yang sama. Ini bisa terjadi ketika kode berperilaku dengan benar dalam semua skenario pengujian / uji kasus, tetapi tidak dalam uji kasus baru atau uji kasus yang tidak Anda pikirkan sebelumnya. Skenario semacam ini mungkin tidak umum.

Skenario lain adalah bahwa gejala yang sama disebabkan oleh kelemahan baru yaitu bug baru di bagian lain dari kode yang sama atau bahkan di sistem lain yang mempengaruhi kode itu.

Jadi, taruhan teraman adalah membuka bug baru ketika gejala yang sama muncul. Jika Anda melihat bahwa kode lama yang sama bertanggung jawab atas bug, kemudian tutup bug baru dan buka kembali bug lama. Jika tidak, biarkan bug baru tetap ada dan tautkan ke bug lama.

BugBot
sumber