EvoDomain: Solusi Inovatif untuk Pengujian Kesalahan Domain dalam Perangkat Lunak
Dalam dunia pengembangan perangkat lunak modern, pengujian adalah aspek penting yang menentukan kualitas produk akhir. Salah satu pendekatan pengujian yang menarik perhatian adalah pengujian berbasis pencarian, yang mengandalkan metode optimasi untuk mencari kesalahan dalam perangkat lunak.Â
Artikel yang ditulis oleh Akram Kalaee, Saeed Parsa, dan Zahra Mansouri berjudul "Enhancing logic-based testing with EvoDomain: A search-based domain-oriented test suite generation approach" menawarkan pendekatan baru dalam meningkatkan kemampuan deteksi kesalahan, terutama dalam pengujian berbasis logika seperti Multiple Condition/Decision Coverage (MC/DC).Â
Pada tahun 2024, artikel ini dipublikasikan di jurnal Information and Software Technology, menawarkan solusi terhadap tantangan utama yang dihadapi oleh MC/DC, yaitu ketidakmampuan dalam mendeteksi kesalahan domain yang disebabkan oleh operasi aritmatika yang salah.
EvoDomain, yang diperkenalkan oleh para penulis, menggabungkan kekuatan algoritma genetik dan hill-climbing dengan algoritma clustering DBSCAN, untuk menghasilkan data uji yang lebih beragam dan efektif dalam mendeteksi kesalahan domain. Dalam artikel tersebut, para peneliti membandingkan EvoDomain dengan dua pendekatan pengujian logika lainnya, yakni RoRG dan pengujian acak.Â
Hasilnya, EvoDomain menunjukkan peningkatan deteksi kesalahan sebesar 74.44% dibandingkan dengan MC/DC dan 65.06% dibandingkan dengan RoRG, berdasarkan evaluasi terhadap 30 studi kasus. Ini membuktikan bahwa EvoDomain tidak hanya lebih unggul dalam mendeteksi kesalahan logika tetapi juga dalam mengidentifikasi kesalahan domain yang sering kali terlewat oleh teknik pengujian konvensional.
Pendekatan ini membuka cakrawala baru bagi pengujian perangkat lunak, terutama dalam aplikasi yang bersifat kritis, seperti sistem keselamatan penerbangan, di mana bahkan kesalahan kecil bisa berakibat fatal.
***
EvoDomain merupakan terobosan penting dalam dunia pengujian perangkat lunak berbasis logika, khususnya dalam mengatasi keterbatasan metode Multiple Condition/Decision Coverage (MC/DC) yang sering digunakan di domain keselamatan-kritis seperti penerbangan dan kesehatan.Â
Salah satu kelemahan utama MC/DC adalah ketidakmampuannya dalam mendeteksi kesalahan domain yang terjadi karena perubahan batas persyaratan pengujian, terutama yang disebabkan oleh operasi aritmatika yang salah. EvoDomain menawarkan solusi melalui pendekatan berbasis pencarian yang memanfaatkan algoritma memetik, yang merupakan kombinasi dari algoritma genetik dan hill-climbing. Pendekatan ini memungkinkan pencarian yang lebih efektif dalam menemukan data uji yang tepat di sekitar batas domain, yang mana kesalahan sering terjadi.
Metode EvoDomain ini diuji dengan menggunakan 30 studi kasus yang beragam, dan hasilnya sangat mengesankan. Dibandingkan dengan MC/DC, EvoDomain meningkatkan kemampuan deteksi kesalahan sebesar 74.44%. Tidak hanya itu, EvoDomain juga menunjukkan peningkatan signifikan dibandingkan RoRG, dengan peningkatan sebesar 65.06%. Angka-angka ini menunjukkan seberapa efektif EvoDomain dalam menemukan kesalahan yang tidak dapat dideteksi oleh metode pengujian tradisional, seperti MC/DC. Selain itu, EvoDomain juga meningkatkan dukungan terhadap berbagai jenis kesalahan hingga 68.89% untuk MC/DC dan 66.33% untuk RoRG.