Defect dan Bug dalam Aplikasi: Memahami dan Menanganinya melalui Analogi Hantu Indonesia

Matin Majduddin M (Evermos)
evermos-tech
Published in
4 min readJul 4, 2024

Hai Sobat Engineer! Kali ini kita bakal bahas soal defect dan bug dalam software, tapi dengan cara yang seru dan gaul. Bayangin aja, defect dan bug itu kayak hantu-hantu yang ada di Indonesia karena sering kali defect dan bug ini menjadi momok yang menakutkan bagaikan mimpi buruk dikejar-kejar hantu. Dengan analogi ini, kita dapat menjelaskan jenis-jenis defect dan bug serta cara menanganinya dengan lebih menarik dan mudah dipahami.

Defect dan Bug: Apa Bedanya?

Secara umum, defect dan bug merujuk pada ketidaksempurnaan dalam software yang menyebabkan perilaku yang tidak diinginkan. Defect biasanya merujuk pada kesalahan dalam proses pengembangan, seperti kesalahan desain atau implementasi, sementara bug lebih sering merujuk pada masalah yang muncul ketika perangkat lunak sudah digunakan.

Jenis-Jenis Defect dan Bug sebagai Hantu Indonesia

Pocong (Defect Desain)

Pocong, dengan tubuh terbungkus kain kafan, menggambarkan defect desain yang terikat dan tidak fleksibel. Kesalahan desain yang mendasar dapat membatasi kemampuan software untuk berkembang dan beradaptasi.

Kesalahan dalam arsitektur sistem yang menyebabkan ketidakmampuan untuk menambah fitur baru tanpa mengubah sebagian besar kode yang ada. Hal ini menyebabkan apabila ada perubahan dari sisi aplikasi diharuskan untuk release walaupun perubahannya hanya sebatas merubah posisi suatu section/bagian.

Kuntilanak (Bug Fungsional)

Kuntilanak dikenal karena kemunculannya yang tiba-tiba dan menakutkan, mirip dengan bug fungsional yang muncul saat kita tidak menduganya. Bug ini menyebabkan fungsi software tidak berjalan sesuai yang diharapkan.

Contoh kasusnya adalah ketika melakukan checkout suatu produk pada aplikasi e-commerce, terjadi kesalahan dalam request di backend sehingga membuat flow checkout tersebut breaking (user tidak bisa melakukan transaksi).

Genderuwo (Defect Kinerja)

Genderuwo, dengan postur besar dan menyeramkan, menggambarkan defect kinerja yang berdampak besar pada performa sistem. Masalah ini dapat menyebabkan sistem menjadi lambat atau tidak responsif.

Contoh kasusnya adalah query database yang tidak dioptimalkan menyebabkan waktu response aplikasi menjadi sangat lama. Penanganannya melakukan analisis kinerja yang menyeluruh dan optimisasi algoritma.

Tuyul (Bug Keamanan)

Tuyul, yang dikenal suka mencuri uang, mewakili bug keamanan yang memungkinkan celah untuk eksploitasi oleh pihak tak bertanggung jawab.

Contohnya, kerentanan yang memungkinkan injeksi SQL atau akses tidak sah ke data pengguna. Audit keamanan yang rutin dan penerapan praktik keamanan terbaik adalah hal terbaik untuk penanganannya.

Sundel Bolong (Bug UI/UX)

Sundel bolong, dengan penampilan yang mengganggu karena lubang di punggungnya, menggambarkan bug UI/UX yang merusak pengalaman pengguna. Seperti tombol yang tidak responsif atau elemen antarmuka yang tidak sesuai dengan harapan pengguna. Testing pengalaman user secara berkala dan iterasi desain berdasarkan umpan balik user.

Menghadapi Hantu-Hantu Ini: Pendekatan Penanganan

Untuk menangani berbagai jenis defect dan bug ini, Evermos melakukan pendekatan yang komprehensif:

  1. Pencegahan: Investasi dalam desain dan development yang berkualitas tinggi, serta training berkelanjutan untuk tim developer. Adanya engineer buddy untuk new member dan proses SDLC yang jelas, disepakati dan dilakukan oleh semua team.
  2. Testing: Adanya product review (product backlog grooming) diawal pengembangan suatu inisiative initiative dan melakukan design review berupa Technical Requirement Documentation Walkthrough Review disisi oleh developer baik backend engineer, frontend engineer maupun mobile engineer serta Test Idea walkthrough Review yang dilakukan oleh Quality Assurance Engineer. Eksekusi testing yang efektif dengan memaksimalkan Automated Test dan dengan implementasi Test Design (seperti Risk Based Testing, Domain Testing, Pair Wise Testing, dan lainnya) yang tepat akan menghasilkan (release) product dengan kualitas yang baik sesuai jadwal.
  3. Pemantauan: Penerapan alert serta product evaluation setelah release. Penggunaan Monitoring tool (seperti Grafana) untuk melihat dan memantau log apabila terjadi error dalam aplikasi. Selain pemantauan error, pemantauan query database melalui cloud platform untuk melihat beban setiap query yang berpengaruh terhadap performance aplikasi.
  4. Pemeliharaan: Team Product Support yang selalu fast response 24/7 hari. Penerapan Grafana On Call untuk menghubungi developer secara direct langsung melalui whatsapp apabila terjadi error di dalam aplikasi untuk acknowledge issue cepat tanggap.

Dengan analogi hantu-hantu Indonesia ini, semoga Sobat Engineer bisa lebih ngerti dan siap menghadapi defect dan bug dalam software. Ingat, kayak kita menghindari dan nge-handle hantu, kita juga harus selalu waspada dan siap buat ngejaga software kita tetap top performanya!

--

--