Hari ini saya memeriksa perubahan pada beberapa kode yang ternyata tidak berfungsi sama sekali karena sesuatu yang agak bodoh namun sangat penting. Saya merasa sangat buruk tentang hal itu dan saya berharap saya akhirnya belajar sesuatu darinya. Yang bodoh adalah, saya sudah melakukan hal-hal ini sebelumnya dan saya selalu mengatakan pada diri sendiri, lain kali saya tidak akan sebodoh itu ... Kemudian itu terjadi lagi dan saya merasa lebih buruk lagi.
Saya tahu Anda harus menjaga dagu Anda dan belajar dari kesalahan Anda, tetapi inilah masalahnya: Saya mencoba meningkatkan diri saya, saya hanya tidak melihat bagaimana saya dapat mencegah hal-hal ini terjadi.
Jadi, sekarang saya bertanya kepada kalian: Apakah Anda memiliki beberapa aturan dasar saat menguji kode Anda?
sumber
Jawaban:
Tulis tes sebelum Anda membuat perubahan kode.
Jika perubahan yang Anda usulkan adalah untuk memperbaiki bug, mulailah tes gagal dengan mendemonstrasikan bug. Kemudian pastikan itu lewat setelah Anda memperbaiki bug. Jika Anda menulis tes sesudahnya dan hanya pernah melihatnya lulus, Anda tidak dapat memastikan bahwa ia telah menguji bug dengan benar sejak awal.
Jika perubahan yang Anda usulkan adalah mengubah fungsionalitas yang ada atau menambahkan fitur, tulis beberapa tes untuk memastikan cakupan area kode yang baik yang akan Anda ubah. Pastikan tes ini lulus sebelum Anda mulai mengubah kode, dan masih lulus saat Anda selesai.
sumber
Jangan lupa untuk menguji case edge! Banyak bug karena tindakan yang paling umum diuji tetapi tidak yang kurang umum.
sumber
Ikuti saran teknis dalam jawaban yang berorientasi teknis; itu barang bagus. Jawaban saya lebih tentang sikap.
Merasa buruk tentang membuat kesalahan seperti yang dilakukan setiap pengembang sesekali adalah tidak masuk akal, dan tidak membantu Anda untuk tidak membuat kesalahan semacam itu di masa depan. Sementara Anda duduk di sana merasa tidak enak, bangunannya masih rusak, Anda tahu? Dan kemudian pekerjaan Anda adalah tentang menghindari kesalahan, yang saya tahu membuat bangun dari tempat tidur di pagi hari menjadi petualangan yang menyenangkan setiap hari, bukan?
Saya pernah mendengar tentang perusahaan yang mengecek kode rusak karena mempermalukan publik. Aku bahkan tidak bisa mendapatkan pikiran yang melengkung, saudara laki-laki, pemikiran tingkat SMP yang akan mengarah pada perilaku seperti itu. Hampir tidak ada APA SAJA yang lebih kontraproduktif untuk dilakukan oleh pemimpin tim atau manajer.
Jadi, jangan menyalahkan diri sendiri. Kita semua sudah melakukannya. Saya mungkin menghabiskan setengah hari per minggu dalam kesalahan konyol, dan saya sudah melakukan ini untuk (batuk) sejak lama. Seperti itulah rasanya menulis kode - Anda terus-menerus menentang apa yang tampaknya seperti kekurangan Anda sendiri. Apa yang membuat seorang profesional menjadi profesional bukanlah kualitas mitos yang tidak pernah membuat kesalahan (termasuk yang besar kadang-kadang), tetapi bagaimana mereka MENANGGAPI kesalahan yang mereka buat.
Jika ada satu mantra yang bisa saya tanam di setiap pengembang yang bekerja dengan saya, ini dia: Anda bukan kode Anda . Anda menulis kode. Anda menulisnya dengan baik dan seefisien mungkin. Lalu kamu pulang. Jika Anda menyamakan nilai atau harga diri Anda sebagai orang dengan kualitas kode Anda, Anda tidak mengetahui siapa diri Anda sebenarnya.
sumber
Praktik pengujian penting lainnya adalah menulis tes dan memastikan bahwa gagal setidaknya satu kali sebelum menulis kode. Semuanya mudah untuk dikacaukan dan menulis tes tautologi yang secara tidak sengaja tidak menguji kondisi yang Anda periksa. Jaminan palsu hampir (dan terkadang lebih buruk) daripada tidak ada jaminan.
sumber
Satu Ide yang saya gunakan dari waktu ke waktu adalah ini,
buat cabang dan pecahkan kode Anda, jalankan tes dan pastikan bahwa tes menangkap kesalahan.
sumber
Beberapa poin umum tambahan:
sumber