Kami memiliki situs web multibahasa di mana bug ditemukan beberapa hari yang lalu. Itu menampilkan data bahasa lain dalam bahasa lain dan juga campuran data seperti bahasa Inggris dipilih tetapi itu menampilkan data bahasa lain juga di halaman dan sebaliknya. Ini jarang dilakukan tetapi ada di situs web. Melewati kode juga tidak membantu karena ini tidak selalu terjadi.
Adakah saran dalam menemukan masalah secara tepat waktu? Saya meminta strategi di sini.
web-development
testing
bug
maz3tt
sumber
sumber
Jawaban:
Langkah pertama adalah mencoba dan mengkarakterisasi apa yang dapat menyebabkan masalah jenis ini. Karena ini terkait dengan pemilihan bahasa yang benar untuk bagian kode, mulailah dengan mempertimbangkan yang berikut:
Sekarang, setelah Anda ditandai kemungkinan dari apa yang bisa salah, waktu itu untuk memastikan Anda memiliki data yang Anda perlu mencoba dan mencari tahu apa yang lakukan pergi salah.
Akhirnya, setelah Anda mempersempit masalah ke titik di mana Anda tahu bagaimana memperbanyaknya, dan apa yang menyebabkannya, tulis tes otomatis terkecil yang Anda bisa untuk memaksa masalah dalam kode. Jika Anda mempersempit masalahnya menjadi satu kelas, atau sepasang kelas yang tidak bekerja bersama dengan benar, buat ulang di tingkat itu. Anda tidak perlu menelurkan 100 utas untuk melakukannya, cukup lakukan tes terkecil yang dapat menyebabkan masalah terjadi 100% setiap saat.
Sekarang Anda dapat memperbaikinya, dan yakinlah bahwa itu tidak akan kembali menggigit Anda lagi.
sumber
Bug ini tidak dapat diproduksi ulang. Anda belum menemukan cara memperbanyaknya.
Tidak ada bug yang acak kecuali Anda melempar pengecualian berdasarkan nilai balik dari beberapa pernyataan Random ().
Saya tahu ini mungkin tampak seperti semantik tetapi meyakinkan secara mental untuk mengatakan hal ini kepada diri Anda sendiri.
Sangat sulit dan membuat frustasi untuk mengetahui bagaimana cara memperbaiki bug yang hanya terjadi karena kondisi ras yang kompleks atau semacamnya.
Adapun cara menemukannya, saya akan mengaktifkan / menambahkan beberapa penebangan ke aplikasi di tempat-tempat yang dapat memberi Anda informasi lebih lanjut.
Selanjutnya beri tahu orang-orang yang melihat bug (apakah mereka Devs, QA, pengguna akhir) untuk melaporkan segera setelah mereka melihatnya saat itu terjadi dan kemudian lihat log Anda. Tanyakan kepada mereka untuk informasi lain dan juga bug hanya dapat terjadi karena interaksi dari beberapa sistem yang berbeda atau karena kondisi balapan
Semoga Anda dapat menemukan petunjuk.
sumber
Anda dapat mencoba menemukan tempat di kode Anda di mana Anda dapat mengenali bahwa masalah terjadi (misalnya parameter yang tidak konsisten dalam metode), tambahkan tanda centang ke kode Anda dan biarkan mereka menambahkan informasi tambahan ke log debug (seperti jejak tumpukan, objek ditambahkan ke sesi, dll.)
Melakukan ini dengan sedikit keberuntungan Anda dapat menangkap informasi tentang kejadian dan menyimpulkan jalan Anda kembali ke masalah.
sumber
Otomasi akan membantu, jika itu adalah langkah yang sama untuk mereproduksi yang terkadang gagal, mengotomatiskannya dan meletakkannya dalam satu lingkaran. Berlari dalam 50.000 kali dan sangat mungkin terjadi.
sumber
cobalah untuk menemukan pola untuk dijabarkan kondisi yang menyebabkan masalah ini terwujud. Itu akan mengarahkan Anda ke bagian kode Anda yang gagal (atau berperilaku tidak konsisten).
sumber
Anda dapat mendeteksi ketika masalah ini terjadi? Jika demikian, dapatkah Anda dengan andal membuang informasi tentang keadaan sistem pada saat itu?
Jika jawaban untuk kedua pertanyaan ini adalah ya, masukkan kode Anda untuk mencatat sebanyak mungkin informasi ketika kesalahan sebenarnya terjadi, kemudian tunggu.
Ini bukan pengganti apa yang disarankan orang lain (Anda masih perlu memikirkan bagaimana kode bisa masuk ke keadaan yang Anda lihat), tetapi selama Anda tidak dapat mereproduksi bug sesuka hati, itu ide yang baik untuk tidak menyia-nyiakan kesempatan di mana ia muncul.
sumber