1.7 Dokumen Pelaporan Bug (Studi Kasus: Bug tidak terdeteksi pada formulir validasi checkout di platform e-commerce)
Pada saat mengembangkan perangkat lunak, kesalahan atau anomali sistem merupakan hal yang nyaris tidak bisa dihindari. Tidak peduli seberapa berpengalaman tim pengembang atau secanggih apapun teknologi yang digunakan, selalu ada kemungkinan munculnya bug, baik itu berupa kesalahan logika, tampilan antarmuka yang tidak sesuai, perilaku sistem yang tidak diharapkan, maupun integrasi antarkomponen yang gagal.
Namun, menemukan bug saja belum cukup. Seperti halnya seorang dokter yang tidak hanya mengenali gejala penyakit, tetapi juga mencatat diagnosis untuk menentukan langkah penanganan, seorang Quality Assurance (QA) juga harus mampu mencatat dan melaporkan bug secara jelas, lengkap, dan terstruktur. Di sinilah pentingnya keberadaan Bug Reporting Document atau Dokumen Pelaporan Bug.
Bug Reporting Document atau dokumen pelaporan bug bukan sekadar catatan bahwa “ada yang tidak berfungsi”, melainkan media komunikasi formal yang menjembatani QA dengan tim pengembang, product owner, hingga project manager. Jika laporan ini disusun dengan tidak jelas, sulit dipahami, tidak dapat direproduksi, atau kurang konteks, besar kemungkinan bug akan diabaikan, disalahartikan, atau bahkan dianggap bukan masalah, padahal mungkin bisa berdampak serius bagi pengguna.
Laporan bug yang efektif sebaiknya dapat menjawab pertanyaan-pertanyaan berikut:
● Apa yang menjadi masalah?
● Di mana dan kapan bug itu muncul?
● Bagaimana cara QA menemukan atau mereproduksi bug itu?
● Apa hasil aktual dan hasil yang diharapkan?
● Seberapa besar tingkat keparahan bug tersebut?
● Apakah bug ini berdampak pada pengguna, bisnis, atau performa sistem?
Dalam praktik nyata, bug yang tidak terdokumentasi dengan benar bisa menimbulkan berbagai kendala, seperti:
● Developer kebingungan dalam menindaklanjuti isu
● Product owner tidak memahami risiko produk
● QA harus menjelaskan ulang temuan karena informasi kurang lengkap
● Bug lolos ke tahap produksi dan merusak pengalaman pengguna
Oleh karena itu, kemampuan menyusun bug report yang baik bukan hanya merupakan keterampilan teknis, melainkan keterampilan komunikasi yang harus terus diasah. Hal ini berlaku bagi QA manual maupun QA automation, karena meskipun pendekatan pengujiannya berbeda, keduanya tetap harus menyampaikan hasilnya dalam bentuk yang dapat dipahami oleh tim lain.
Pelaporan bug saat ini juga sangat berkaitan dengan penggunaan berbagai tools modern seperti Jira, GitLab Issues, Bugzilla, TestRail, hingga GitHub Issues. Di platform-platform ini, QA tidak hanya menuliskan bug, tetapi juga menambahkan screenshot, screen recording, log error, environment details, serta menghubungkan bug dengan user story atau test case yang relevan.
Dengan memahami dan menerapkan praktik pelaporan bug yang baik, proses pengembangan akan berjalan lebih kolaboratif, efisien, dan minim miskomunikasi. Pada akhirnya, kualitas produk digital pun meningkat karena setiap masalah ditangani dengan lebih sistematis.
Untuk membuka pembelajaran pada topik ini, berikut beberapa pertanyaan awal yang dapat membantu Digiers melihat gambaran besarnya.
Pernahkah Digiers menemukan bug saat menggunakan aplikasi sehari-hari (misalnya saat checkout di e-commerce atau login di aplikasi transportasi)? Bagaimana Digiers akan melaporkannya jika menjadi seorang QA?
Coba bayangkan Digiers adalah seorang developer. Apa informasi yang Digiers butuhkan agar bisa memahami dan memperbaiki sebuah bug tanpa harus bertanya balik ke QA?
Selain itu, sebelum kita masuk ke materi, yuk kenali dulu apa saja yang akan Digiers capai di akhir pembelajaran topik ini. Memahami tujuan pembelajaran membantu proses belajar menjadi lebih fokus dan terarah.
1.7.1 Elemen Kunci Laporan Bug yang Efektif
Menyusun laporan bug bukan sekadar tugas administratif. Bagi seorang Quality Assurance (QA), hal ini merupakan bentuk keterampilan komunikasi teknis yang sangat penting. Laporan bug berfungsi sebagai “suara” QA dalam menyampaikan temuan masalah kepada tim pengembang dan pihak terkait lainnya. Tanpa penyampaian yang jelas dan efektif, bahkan bug yang paling kritis pun bisa terlewat, di salah pahami, atau ditangani dengan cara yang keliru sehingga tetap muncul pada versi produksi.
Sering kali kita mendengar keluhan dari developer, seperti “Saya nggak ngerti bug-nya di bagian mana.”, “Langkah reproduksinya mana ya?” atau “Ini cuma terjadi di device kamu aja?”. Komentar semacam itu mencerminkan laporan bug yang kurang efektif. Masalahnya bukan pada keberadaan bug, tetapi pada cara pelaporannya yang kurang jelas atau tidak cukup informatif. Tujuan utama dari laporan bug adalah agar tim pengembang dapat:
- Memahami konteks masalahnya,
- Mereproduksi bug tersebut di lingkungan mereka,
- Menentukan akar penyebabnya dan memperbaikinya,
- Mencegahnya terjadi kembali di masa depan.
Oleh karena itu, QA perlu menyusun laporan bug secara menyeluruh namun ringkas, jelas tanpa bertele-tele, serta objektif namun tetap informatif. Ini bukan sekadar mengikuti format, tetapi menunjukkan kemampuan berpikir sistematis yang mendukung kerja tim.
Laporan bug yang ditulis dengan baik dapat mencegah pemborosan waktu dan tenaga berbagai pihak. Manfaatnya antara lain:
● QA tidak perlu menjelaskan ulang karena semua sudah tertulis.
● Developer tidak perlu menebak-nebak penyebab masalah.
● Product owner bisa memahami risiko terhadap pengguna.
● Tester lain bisa mengacu ke laporan tersebut saat regresi.
Laporan bug juga menjadi bagian penting dalam dokumentasi historis proyek. Dalam beberapa proyek Agile atau produk berskala besar, laporan bug bisa digunakan untuk:
● Analisis tren kualitas, misalnya: berapa banyak bug UI dibanding backend?.
● Penilaian performa QA dan developer.
● Dokumentasi keputusan tim (misalnya: bug ini tidak diperbaiki karena alasan bisnis).
Agar informasi dalam laporan bug dapat dipahami dengan mudah oleh seluruh anggota tim dan dapat diproses melalui sistem pelacakan seperti Jira, GitHub Issues, atau Bugzilla, setiap laporan bug idealnya mengikuti struktur standar yang terorganisasi (subjek, salam, isi, penutup), laporan bug juga membutuhkan elemen-elemen yang konsisten, antara lain:
● Laporan mudah dibaca oleh siapa pun,
● Dapat diproses dalam sistem pelacakan seperti Jira, GitHub Issues, atau Bugzilla,
● Bisa diprioritaskan secara adil,
● Bisa diuji ulang dengan presisi.
Laporan bug yang ditulis dengan baik akan meningkatkan kredibilitas QA sebagai profesional yang teliti, objektif, dan dapat diandalkan. Sebaliknya, laporan yang kurang informatif dapat membuat kontribusi QA terlihat tidak signifikan.
Dengan pemahaman ini, penulisan laporan bug bukan lagi sekadar kewajiban formalitas, tetapi menjadi wujud nyata kontribusi QA terhadap kualitas produk yang sedang dikembangkan.
Laporan bug yang baik umumnya terdiri dari sejumlah elemen standar yang disusun agar jelas, mudah dibaca, dan dapat segera ditindaklanjuti. Masing-masing elemen berfungsi untuk menyampaikan informasi yang spesifik kepada developer dan stakeholder lainnya. Berikut adalah elemen-elemen yang wajib atau sangat disarankan ada dalam setiap laporan bug:
1. Bug ID / Reference Number
● Nomor unik untuk mengidentifikasi.
● Biasanya dihasilkan otomatis oleh sistem pelacak bug seperti Jira, GitHub, atau TestRail.
● ID ini memudahkan pelacakan, dokumentasi historis, dan pelaporan QA.
2. Title / Summary
● Ringkasan singkat namun jelas mengenai masalah yang ditemukan.
● Format umum: [Modul/Fitur] Deskripsi singkat masalah
● Contoh: [Login] Error 500 muncul saat login menggunakan akun tidak aktif
Tips: Gunakan kata kerja aktif dan kata kunci penting. Hindari kalimat umum seperti “fitur tidak jalan”.
3. Environment / Test Configuration
● Menjelaskan dimana bug ditemukan, termasuk:
○ Versi aplikasi
○ Jenis perangkat (PC, Android, iOS)
○ Browser dan versinya
○ Sistem operasi
○ Server (staging, UAT, production)
● Tujuannya adalah memastikan developer bisa mereproduksi dalam kondisi yang sama.
4. Precondition (Jika Ada)
● Kondisi awal sebelum bug terjadi.
● Contoh: “Pengguna sudah login dan memiliki 1 produk di keranjang.”
● Penting untuk menunjukkan konteks awal sistem sebelum langkah reproduksi dilakukan.
5. Steps to Reproduce
● Langkah demi langkah yang dilakukan QA hingga bug muncul.
● Harus runtut, jelas, dan tidak ambigu.
● Sebaiknya menggunakan format penomoran (1, 2, 3...) untuk keterbacaan.
● Tujuannya adalah memastikan developer dapat mereproduksi bug secara konsisten di sistem mereka.
6. Expected Result
● Penjelasan tentang apa yang seharusnya terjadi jika sistem berjalan dengan benar.
● Contoh: “Pengguna seharusnya diarahkan ke halaman dashboard setelah login berhasil.”
7. Actual Result
● Penjelasan tentang apa yang benar-benar terjadi saat bug muncul.
● Contoh: “Sistem menampilkan halaman kosong dengan pesan 500 Internal Server Error.”
8. Evidence: Screenshot, Video, Logs
● Bukti visual atau teknis pendukung.
● Bisa berupa:
○ Screenshot halaman error
○ Screen recording langkah reproduksi
○ Log error dari browser console atau API response
● Mempercepat pemahaman developer tanpa harus mencoba sendiri terlebih dahulu.
9. Severity
● Menggambarkan seberapa serius dampak bug terhadap sistem.
● Umumnya terdiri dari:
○ Critical: Menyebabkan crash, kehilangan data, atau tidak bisa digunakan sama sekali
○ Major: Fitur utama tidak berfungsi
○ Minor: Ada gangguan tapi masih bisa digunakan
○ Trivial: Masalah kosmetik atau UI
10. Priority
● Menyatakan seberapa cepat bug harus diperbaiki.
● Kadang berbeda dengan severity karena mempertimbangkan waktu release dan strategi bisnis.
● Umumnya terdiri dari:
○ High: Harus diperbaiki segera
○ Medium: Diperbaiki setelah masalah prioritas tinggi
○ Low: Bisa ditunda atau tidak mendesak
11. Status / Assignment
● Menunjukkan status lifecycle bug, yaitu Open, In Progress, Reopened, Fixed, Verified, Closed.
● Menyebutkan siapa yang bertanggung jawab (developer tertentu atau tim tertentu).
12. Attachment / Linked Items
● Mengaitkan bug dengan:
○ Test case tertentu
○ User story atau Epic
○ Bug lain yang terkait
● Berguna untuk navigasi antar item di sistem pelacak.
13. Notes / Additional Info (Opsional)
Informasi tambahan, misalnya:
● Bug hanya muncul di kondisi jaringan tertentu
● Perbandingan dengan versi sebelumnya
● Catatan dari tester lain atau pengujian sebelumnya
Studi Kasus Laporan Bug yang Baik dan Kurang Baik
1. Kasus 1: Laporan Bug yang Baik
Sebagai QA, kamu menemukan bahwa sistem tidak menampilkan notifikasi apa pun ketika tombol "Bayar" di klik tanpa mengisi alamat pengiriman pada aplikasi e-commerce.
Berikut ini adalah contoh laporan bug yang ditulis dengan baik:
Bug Title: Environment: ● Server: Staging ● Versi aplikasi: Tokoku v2.1.4 ● Device: Samsung A53 ● OS: Windows 11 Precondition: Steps to Reproduce:
Expected Result: Actual Result: Severity: Major |
2. Kasus 2: Laporan Bug yang Kurang Baik
Berikut ini adalah contoh laporan bug yang ditulis dengan kurang baik:
Bug title: “Fitur pembayaran error.” Environment: Precondition: Steps to Reproduce: Expected Result: Actual Result: Severity: Major |
Kekurangan:
● Judul bug terlalu umum dan kurang spesifik
● Tidak menyebutkan versi aplikasi atau perangkat yang digunakan
● Tidak menjelaskan langkah atau kondisi yang menyebabkan bug
● Tidak ada bukti visual atau log
● Tidak menyebutkan hasil yang diharapkan pengguna