Pelacakan bug adalah proses pencatatan dan pemantauan bug atau kesalahan selama pengujian perangkat lunak. Ini juga disebut sebagai pelacakan cacat atau pelacakan masalah.
Sistem besar bisa memiliki ratusan atau ribuan cacat. Masing-masing perlu dievaluasi, dipantau dan diprioritaskan untuk debugging. Terkadang, bug mungkin perlu dilacak dalam jangka waktu yang lama.
“Pelacakan cacat adalah proses penting dalam rekayasa perangkat lunak, karena sistem yang kompleks dan penting bagi bisnis memiliki ratusan cacat, kata Tutorials Point. “Salah satu faktor yang menantang adalah mengelola, mengevaluasi dan memprioritaskan cacat ini. Jumlah cacat akan berlipat ganda selama periode waktu tertentu dan untuk mengelolanya secara efektif, sistem pelacakan cacat digunakan untuk mempermudah pekerjaan.”1
Bug perangkat lunak terjadi ketika aplikasi atau program tidak bekerja dengan cara yang seharusnya. Sebagian besar kesalahan adalah kesalahan atau kesalahan yang dilakukan oleh arsitek sistem, desainer atau pengembang. Tim pengujian menggunakan pelacakan bug untuk memantau dan melaporkan kesalahan yang terjadi saat aplikasi dikembangkan dan diuji.
“Komponen utama dari sistem pelacakan bug adalah database yang mencatat fakta tentang bug yang diketahui,” kata Wikipedia. “Fakta dapat mencakup waktu bug dilaporkan, tingkat keparahannya, perilaku program yang salah, dan detail tentang cara mereproduksi bug; serta identitas orang yang melaporkannya dan programmer yang mungkin memperbaikinya.” 2
Selama masa hidupnya, satu cacat bisa melalui beberapa tahap atau keadaan. Hal ini termasuk:
Bug dikelola berdasarkan prioritas dan tingkat keparahan. Tingkat keparahan membantu mengidentifikasi dampak relatif masalah pada rilis produk. Klasifikasi ini dapat bervariasi jumlahnya, tetapi umumnya mencakup beberapa bentuk berikut:
Biasanya, status dan tingkat keparahan dipantau dalam database pelacakan bug. Platform pelacakan yang baik juga terkait dengan pengembangan perangkat lunak dan sistem manajemen yang lebih besar: semakin baik untuk menilai status kesalahan dan dampak potensial pada produksi dan jadwal keseluruhan.
Diperkirakan bahwa pengembang perangkat lunak membuat 100 hingga 150 kesalahan untuk setiap seribu baris kode.4 Menurut laporan dari Consortium for IT Software Quality (CISQ): “Bahkan jika hanya sebagian kecil, yaitu 10%, dari kesalahan ini yang serius, maka aplikasi yang relatif kecil yang terdiri dari 20.000 baris kode akan memiliki sekitar 200 kesalahan pengodean yang serius.” 5
Pengujian perangkat lunak sangat penting untuk mengisolasi dan mengurangi kesalahan. Proses QA yang baik dapat mengungkap ratusan atau bahkan ribuan cacat, dan tim pengujian perlu mengelola semuanya. Mengintegrasikan pelacakan bug ke dalam alur kerja pengujian meningkatkan efisiensi dengan membantu penguji memprioritaskan, memantau, dan melaporkan status setiap kesalahan.
“Pelacakan kerusakan membantu memastikan bahwa bug yang ditemukan dalam sistem benar-benar diperbaiki,” kata konsultan Agile, Yvette Francino. “Alat pelacakan tidak hanya menyediakan cara untuk memastikan tindak lanjut namun juga memberikan metrik yang berharga. Bergantung pada alat yang digunakan, tim dapat menghubungkan kerusakan dengan kode yang diubah, pengujian, atau data lain yang memungkinkan penelusuran atau analisis tren kerusakan. Jika modul tertentu penuh dengan cacat, mungkin sudah waktunya untuk meninjau dan menulis ulang modul tersebut.” 6
Sebagaimana yang ideal, pengujian harus dilakukan secepat mungkin ketika bug masih mudah dan lebih murah untuk diperbaiki. Sebuah studi sebelumnya oleh IBM menemukan bahwa cacat yang ditemukan pasca-produksi atau setelah rilis dapat menghabiskan biaya 15 kali lebih banyak untuk memperbaikinya dibandingkan dengan kesalahan yang diselesaikan di awal pengembangan.
Banyak tim sekarang menggunakan metodologi yang dikenal sebagai pengujian berkelanjutan. Dalam hal ini, pengujian kualitas dan masukan dilakukan di semua tahap pengembangan, mulai dari desain dan pengodean hingga penerapan. Teknologi modern seperti kecerdasan buatan (AI) juga dapat membantu proses pengujian dengan mendeteksi dan menganalisis bug di awal siklus.
Kontrol kualitas sangat penting untuk mengembangkan aplikasi yang kuat. Alat manajemen perubahan dan pengawasan bug pada perangkat lunak memungkinkan tim untuk menemukan, mengukur, dan memecahkan cacat.
Dalam Harvard Business Review, Nicholas Bowen menguraikan proses untuk mengelola cacat. Langkah pertama adalah mengklasifikasikan dan memprioritaskan: “Umumnya, tim akan memprioritaskan dua jenis bug: bug yang menyebabkan sistem crash dan bug yang tidak terlalu parah namun dapat menyebar luas.”.... Selanjutnya, tentukan target waktu respons untuk setiap tingkat keparahan. Jika sistem manajemen kualitas masih baru, maka fokus awal haruslah memperbaiki bug yang paling parah dalam hitungan jam atau hari. Saat menggunakan sistem, Anda bisa mengumpulkan data tentang dua metrik utama, tingkat bug yang masuk dan produktivitas para pemecah masalah, dan menyesuaikan target sesuai kebutuhan.” Dia mengatakan bahwa organisasi juga perlu membuat sistem di mana cacat dan waktu yang diperlukan untuk mengatasinya dapat ditinjau di semua tingkatan, mulai dari CEO ke bawah.7
Sistem pelacakan bug yang baik dapat membantu proses ini dengan menyediakan alur kerja tunggal untuk pemantauan cacat, pelaporan, dan penelusuran siklus hidup. Sistem ini harus terhubung dengan sistem manajemen lain untuk visibilitas dan masukan bersama baik dalam pengembangan perangkat lunak maupun organisasi yang lebih besar. IBM® Rational® ClearQuest®, misalnya, menyediakan platform terpusat untuk pelacakan dan pelaporan kesalahan. Sistem ini terintegrasi dengan sistem pengembangan dan manajemen perubahan IBM lainnya, dan membantu meningkatkan komunikasi dan kolaborasi di antara para pengembang, bagian operasi, dan tim yang lebih luas.
Selain itu, cari sistem pengujian dan pelacakan yang menggunakan AI untuk mendeteksi kesalahan di awal proses pengembangan. Hal ini dapat mengoptimalkan jumlah dan jenis pengujian yang dijalankan tim, mengotomatiskan proses pengujian, dan menggunakan AI untuk menganalisis cacat di masa lalu dan mencegahnya di masa depan.
Otomatiskan pengiriman perangkat lunak untuk aplikasi apa pun di lingkungan on premises, cloud, atau mainframe.
Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.
Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara berkolaborasi dalam menciptakan solusi, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.
1 https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm
2 https://en.wikipedia.org/wiki/Bug_tracking_system
3 https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm
4 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
5 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
6 https://techbeacon.com/app-dev-testing/pros-cons-defect-tracking
7 https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem