Bagaimana cara mengatasi bug yang sepertinya sudah diperbaiki sendiri? [Tutup]

16

Saya seorang pengembang aplikasi web untuk sistem internal. Seorang pengguna melaporkan bahwa ada bug.

Bugnya adalah beberapa kata tidak dapat ditampilkan. Laporan tersebut berisi tangkapan layar yang jelas menunjukkan bug. Tetapi laporan tersebut sudah berumur hampir sebulan dan bug tersebut tidak dapat lagi diproduksi di lingkungan produksi kami.

Bagaimana saya harus membalas klien dan pengguna?

Ben Cheng
sumber
1
Cari tahu bagaimana membuatnya berulang.
Wyatt Barnett
2
Berapa lama Anda bisa membeli investigasi ini? Seberapa kritis bug itu dan dampak negatifnya? Jika jawabannya sangat sedikit dan dapat diabaikan maka saya akan mengatakan menandai itu diperbaiki dengan catatan keadaan di mana itu tidak benar-benar diperbaiki dan menunggu untuk kembali adalah penggunaan sumber daya perusahaan Anda.
Newtopian
2
Ini hanya memerlukan respons standar pelat datar: " [Pengguna] yang terhormat, Masalah dengan X yang Anda laporkan pada Yth tampaknya telah diselesaikan dengan rilis terbaru Z. Harap tandai masalah sebagai terselesaikan jika memang benar demikian. Jika tidak, silakan kirim ini kembali kepada saya dengan rincian tentang bagaimana Anda mengalaminya. "
Lilienthal
1
@Lilienthal Hanya karena bug tidak dapat direproduksi tidak berarti bug telah diatasi. Anda bahkan tidak tahu bahkan ada rilis baru di bulan lalu.
paparazzo

Jawaban:

32

Kembalikan lingkungan dev Anda ke versi tempat bug terdeteksi dan verifikasi bahwa bug itu ada.

Jika ada di sana maka Anda dapat menyelidiki bug dan memastikan bahwa versi saat ini tidak memilikinya. Kemudian tutup laporan bug dengan komentar bahwa perubahan yang tidak terkait telah memperbaikinya. Tambahkan tes regresi jika perlu.

Jika Anda tidak dapat mereproduksi bug dalam versi itu maka strategi yang ditetapkan dalam banyak pertanyaan lain di sini akan bermanfaat (Terima kasih Thomas untuk daftar awal):

ratchet freak
sumber
2
Dalam pengalaman saya, sebagian besar tim hanya memeriksa opsi "tidak dapat mereproduksi" di sistem tiket dan menutupnya. Menguji kode "dulu" dan "sekarang" untuk memastikan masalah ada di sana dan tidak lagi merupakan solusi yang lebih baik. Tapi itu juga lebih memakan waktu daripada mengatakan "tidak bisa mereproduksi" dan menutupnya, jadi itu mungkin bukan pilihan untuk setiap bug.
Paul J Abernathy
5
Tergantung seberapa serius bug itu. Jika itu hanya tata letak kesalahan maka memang cap tidak bisa repro dan dilakukan, tetapi jika itu bisa lebih menyeramkan maka beberapa jam untuk berakhir dengan tes regresi bisa sia-sia.
ratchet freak
2
@ scratchetfreak Atau, tergantung pada seberapa serius pelanggan ini. Jika mereka sendirian mendanai gaji Anda, mungkin ada baiknya melecehkan mereka ;-)
Cort Ammon - Reinstate Monica
7
Masalah yang hilang dengan sendirinya kembali dengan sendirinya.
Pete Becker
1
Ini semua masalah beban kerja. Jika Anda memiliki satu bug yang dapat direproduksi sebulan yang lalu dan tidak lagi, dan bug lain yang dapat direproduksi sekarang , maka Anda memperbaiki salah satu yang direproduksi sekarang terlebih dahulu. Jika Anda pernah sampai pada kondisi di mana Anda benar-benar bosan, maka Anda dapat menyelidikinya. Dan ketika masalah muncul kembali dengan sendirinya, maka tentu saja itu adalah bug yang dapat direproduksi dan Anda mulai memperbaikinya :-)
gnasher729
2

Saya akan berasumsi bahwa Anda telah benar-benar melakukan semua yang Anda bisa untuk mereproduksi bug tetapi tidak bisa.

Dalam kasus seperti ini, sering kali lebih baik menambahkan beberapa kode di sekitar area aplikasi yang gagal mencatat pekerjaan yang sedang dilakukan, sehingga mudah-mudahan Anda akan memiliki lebih banyak data untuk bekerja jika itu terjadi lagi. Pikirkan informasi apa yang perlu Anda miliki yang saat ini tidak tersedia. Sebagai contoh, mungkin itu hanya terjadi ketika satu set parameter input tertentu dikirim dan Anda merekamnya setiap kali proses berjalan. Namun, tanyakan kepada bos Anda sebelum Anda melakukan ini, tergantung pada pentingnya bug dan frekuensinya, ia mungkin tidak ingin menghabiskan waktu untuk melakukan hal ini.

Kemudian Anda pergi orang yang melaporkan bug (Anda dapat melakukan ini dalam aplikasi pelacakan bug jika Anda memiliki bug, Anda tidak harus pergi sendiri) dan mengatakan bahwa Anda tidak dapat mereproduksi bug tetapi menambahkan beberapa tambahan masuk untuk mendapatkan detail lebih lanjut tentang apa yang sedang dilakukan proses seandainya bug muncul kembali. Kemudian tutup bug.

Jika Anda tidak dapat melakukan logging tambahan. cukup laporkan bahwa bug itu tidak dapat direproduksi dan jika mereka menabraknya lagi, ini adalah informasi yang Anda perlukan untuk memperbanyaknya dan memberi tahu mereka apa yang Anda butuhkan. Kami sering meminta mereka untuk memberi tahu kami secara tepat parameter input apa yang mereka masukkan ketika mereka mendapatkan kesalahan. Hanya memiliki cuplikan layar kesalahan membantu tetapi mengetahui persis langkah apa yang mereka ambil dan informasi apa yang mereka coba gunakan pada saat kesalahan terjadi lebih membantu. Jadi pada dasarnya Anda meletakkan tanggung jawab kembali pada mereka untuk memberi Anda lebih banyak informasi ketika mereka melaporkan kesalahan jika itu terjadi lagi.

Di pelacak bug Anda, pastikan untuk menjelaskan langkah-langkah apa yang Anda coba, sehingga jika bug itu terjadi lagi, orang yang menanganinya akan memiliki latar belakang tentang apa yang telah dilakukan sebelumnya.

HLGEM
sumber
1

Tas non-reproduksi adalah yang terburuk! Mungkin sudah diperbaiki sementara itu, atau mungkin masih ada tetapi sporadis atau langkah-langkah untuk mereproduksi tidak ditentukan secara spesifik. Anda harus membuat keputusan untuk menilai seberapa tinggi risiko bug itu, dan seberapa banyak Anda akan memperluas investigasi itu. Apakah Anda membuat resep-manajer online, atau perangkat lunak kontrol kemudi untuk rudal nuklir?

Jika itu adalah bug berdampak rendah, dan Anda tahu perubahan telah dibuat yang bisa mengakibatkan bug tersebut diperbaiki tanpa disadari, mungkin dapat diterima untuk menutup bug dengan catatan bahwa itu tidak dapat diproduksi kembali dan Anda menganggapnya telah diperbaiki .

Jika Anda lebih khawatir, Anda bisa membuat beberapa teori tentang apa yang menyebabkan bug di tempat pertama, dan melihat-lihat log perubahan dan riwayat sumber untuk melihat apakah Anda dapat menemukan di mana itu diperbaiki.

Untuk bug yang lebih serius, Anda harus memutar kembali sumber ke titik rilis terakhir, dan kemudian mencoba mereproduksi. Jika Anda berhasil mereproduksi, Anda dapat menulis tes untuk memastikan itu diperbaiki dalam komitmen selanjutnya.

JacquesB
sumber