Site icon CasaNinesSegovia

Microsoft Buka Sumber Kode Alat Pengujian Unit Dengan Hasil Optimal

CasaNinesSegovia – Microsoft baru saja meluncurkan proyek open source bernama code-testing-generator, sebuah agen poliglota yang dirancang untuk menulis dan menguji unit tes secara otomatis. Proyek ini terintegrasi dalam plugin dotnet-test di repositori dotnet/skills yang dilisensikan di bawah MIT.

Agen ini ditujukan untuk menjawab kebutuhan yang sering terlewat oleh asisten pengkodean. Misalnya, saat diberikan perintah untuk “menghasilkan unit tes”, tidak ada petunjuk mengenai framework yang harus digunakan atau lokasi berkas yang relevan. Dengan membaca repositori terlebih dahulu, code-testing-generator dapat menetapkan keputusan tersebut, meliputi perencanaan, penulisan, pelaksanaan, dan validasi tes yang dihasilkan.

Kompetisi dengan GitHub Copilot

Microsoft melakukan pengujian intern menggunakan 152 tugas praktis dan membandingkan kinerja code-testing-generator dengan GitHub Copilot. Hasilnya menunjukkan bahwa agen tersebut berhasil menyelesaikan 140 dari 152 tugas, mendemonstrasikan efisiensi yang lebih tinggi dibandingkan dengan Copilot yang menyelesaikan 120 tugas. Kedua pembanding menggunakan model dan prompt yang sama.

Hasil ini menekankan potensi code-testing-generator dalam meningkatkan produktivitas pengembang perangkat lunak. Dalam uji coba, agen ini mampu menyelesaikan 88% dari prompt yang tidak spesifik, melampaui Copilot yang hanya mencapai 66%. Dalam hal ini, code-testing-generator mampu mengurangi jumlah kegagalan yang terjadi dari 30 menjadi 10.

Cara Kerja Agen

Proses kerja agen ini mengikuti pipeline Riset-Perencanaan-Pelaksanaan (RPI). Pertama, agen ini mencari kode yang membutuhkan tes, mendeteksi bahasa pemrograman serta framework tes yang tersedia. Selanjutnya, agen membaca tes yang sudah ada untuk memahami konvensi yang digunakan serta menemukan perintah build dan test yang sebenarnya. Langkah ini penting untuk menghindari kegagalan saat menjalankan tes yang seharusnya dapat dilakukan sebelumnya.

Setelah mengumpulkan informasi, agen memilih salah satu dari tiga strategi: **Langsung**, yang berarti menulis dan memvalidasi tes secara segera; **Siklus tunggal**, yang hanya menjalankan satu siklus RPI; atau **Iteratif**, yang mengulang siklus RPI untuk mencapai cakupan yang lebih besar. Seluruh proses tersebut tidak akan memodifikasi kode produksi dan memastikan tidak ada tes yang tergantung pada URL eksternal, port yang terikat, atau timing.

Validasi dan Verifikasi

Sebelum melaporkan bahwa semua tes telah selesai, agen ini menjalankan beberapa pemeriksaan. Agen harus menganalisis perubahan kecil pada kode yang seharusnya membuat tes gagal serta memeriksa keberadaan dan kekuatan pernyataan. Proses ini diakhiri dengan membangun workspace secara penuh dan menjalankan seluruh rangkaian tes untuk memastikan bahwa perintah pengujian dari repositori dapat menemukan tes yang baru saja dibuat.

Kesimpulan

Proyek code-testing-generator dari Microsoft menunjukkan kemajuan signifikan dalam otomatisasi pengujian perangkat lunak. Dengan kinerja yang terbukti lebih efisien dalam menyelesaikan tugas-tugas pengujian, agen ini memberikan solusi yang layak untuk diterapkan dalam berbagai industri, terutama di sektor yang membutuhkan pengujian perangkat lunak yang ketat. Tidak hanya itu, penerapan agen ini diharapkan dapat mempercepat pengembangan perangkat lunak sekaligus meningkatkan kualitas kode yang dihasilkan. Inovasi ini menjadi perhatian bagi kalangan pengembang apabila diterapkan secara lebih luas di masa mendatang.

Exit mobile version