Bug Life Cycle pada Software Testing
--
Hal yang berhubungan dengan kesalahan, error, atau gagal saat mengembangkan aplikasi dengan hasil tidak diinginkan sering disebut bug. Namun orang-orang mungkin akan memiliki sebutannya masing-masing seperti issue, error, defect atau yang lainnya. Tapi apapun sebutannya, output yang diberikan sama yaitu hal yang tidak diinginkan pada sistem yang dapat memyebabkan error atau gagal.
Menemukan bug pada saat mengembangkan aplikasi sudah menjadi hal yang lumrah karena mustahil aplikasi dapat terbebas dari bug. Bug juga sering ditemukan setelah melewati fase developement, yaitu bisa ditemukan pada fase user acceptance test dan bahkan pada fase production/live sekalipun. Bisa dikatakan tidak ada aplikasi yang terbebas dari bug 100%.
Bug Life Cycle
Bug life cycle adalah siklus bug dari ditemukan hingga selesai diperbaiki. Bug yang ditemukan akan melewati beberapa tahapan pada siklus ini. Bug life cycle mungkin akan berbeda-beda di setiap projek dan perusahaan. Namun tahapan dasar bug life cycle sudah dapat tergambarkan dari gambar di bawah ini.
- New: Ketika sebuah bug ditemukan
Pada status ini, ketika bug ditemukan masih belum disetujui atau masih dipelajari. Bug dengan status ini akan diberikan kepada project leader atau test lead untuk divalidasi. - Assigned: Menugaskan bug ke tim untuk diperbaiki
Setelah bug dianggap valid, maka project leader atau test lead memberikan bug tersebut ke tim yang bersangkutan untuk diperbaiki. - Open: Tim melakukan analisis pada bug dan memperbaiki bug
Pada status ini, bug akan dilakukan pemeriksaan. Jika tim merasa jika bug tersebut valid maka dapat dilakukan perbaikan. Namun, jika tidak valid bug dapat dikategorikan ke rejected, duplicated, deferred, atau not bug.
- Rejected: Jika bug dianggap bukan bug dari developer, maka akan diberikan status rejected.
- Duplicated: Bug yang deskripsinya sama dengan bug lainnya atau berulang.
- Deferred: Bug yang dapat diberikan status deferred yaitu yang alasannya:
1. Bug ditemukan adalah prioritas minor atau ditemukan di akhir rilis
2. Bug tidak merupakan scope pada pengembangan saat ini
3. Bug akan diperbaiki pada rilis berikutnya
4. Perubahan requirement dari klien
- Not Bug: Bug tidak berdampak pada fungsionalitas aplikasi - Fixed: Bug sudah diselesaikan oleh tim
Tim developer melakukan perubahan yang diperlukan pada aturan coding untuk memperbaiki bug. Setelah diperbaiki dan sudah dikonfirmasi, maka tim dapat memberikan status bug menjadi Fixed. - Retest: Testing pada bug yang telah diperbaiki
Tester akan melakukan testing apakah bug sudah diperbaiki dan sudah sesuai dengan kebutuhan. - Reopen: Bug masih ditemukan dan hasil masih belum sesuai kebutuhan
Ketika testing masih ditemukan bug dan belum sesuai kebutuhan, maka tester akan memberikan status Reopen. Kemudian bug akan diperbaiki lagi oleh tim developer. - Verified: Tester melakukan verifikasi perbaikan bug
Tester melakukan verifikasi jika bug yang diperbaiki sudah tidak ditemukan lagi maka dapat diberikan status Verified. - Closed: Ketika bug tidak muncul lagi
Bug sudah tidak muncul lagi dalam aplikasi. Status ini adalah akhir di bug life cycle.