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:

  1. Memahami konteks masalahnya,
  2. Mereproduksi bug tersebut di lingkungan mereka,
  3. Menentukan akar penyebabnya dan memperbaikinya,
  4. 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:
[Checkout] Tombol "Bayar" tidak memberikan respon jika alamat pengiriman belum diisi

Environment:

      Server: Staging

      Versi aplikasi: Tokoku v2.1.4

      Device: Samsung A53

      OS: Windows 11

Precondition:
Pengguna sudah login dan memiliki item dalam keranjang

Steps to Reproduce:

  1. Masuk ke halaman checkout
  2. Biarkan kolom alamat kosong
  3. Klik tombol "Bayar"

Expected Result:
Muncul notifikasi yang memberitahu bahwa alamat harus diisi

Actual Result:
Tidak ada notifikasi, tombol tidak memberikan respon apapun

Severity: Major
Priority: High
Screenshot: terlampir
Logs: "Uncaught TypeError: Cannot read property 'address' of undefined"

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:
Tidak ada notifikasi, tombol tidak memberikan respon apapun

Severity: Major
Priority: High
Screenshot:

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

 

 

 

 

 

Last modified: Thursday, 21 August 2025, 7:49 AM