Ketika saya mendengar kata “pengujian perangkat lunak”, yang langsung terbayang adalah hal-hal standar: unit test, integration test, black-box vs white-box, dan laporan coverage yang bikin dosen puas. Tapi ketika saya membaca artikel berjudul “Testing and Quality Validation for AI Software – Perspectives, Issues, and Practices” oleh Tao, Gao, dan Wang yang terbit di IEEE Access (2019), pandangan saya berubah total.
Artikel ini menyentil saya sebagai mahasiswa RPL dan calon software engineer bahwa pengujian perangkat lunak berbasis AI itu adalah dunia yang sama sekali berbeda. Bukan sekadar jalankan test case dan cocokkan output, tapi harus memahami bagaimana sistem belajar, bagaimana data memengaruhi prediksi, dan bagaimana hasil bisa berubah karena sedikit gangguan visual atau konteks.
Kenapa AI Gak Bisa Diuji Kayak Software Biasa?
Software konvensional punya keunggulan: deterministik. Artinya, kalau kamu input 1+1, pasti keluar 2. Tapi software berbasis AI, misalnya image recognition atau chatbot, bisa memberikan output berbeda untuk input yang mirip. Bahkan kadang kita gak bisa bilang “output ini benar” atau “salah” dengan pasti. Inilah yang disebut sebagai non-oracle problem — kita tidak punya jawaban standar untuk dibandingkan.
Di situlah muncul tantangan: bagaimana kita bisa menguji software yang output-nya tidak pasti?
Artikel ini memberi solusi nyata lewat berbagai pendekatan mutakhir — dan semuanya sangat membuka wawasan saya.
Pendekatan Baru: Uji AI dengan Metamorphic Testing
Salah satu pendekatan yang paling menarik di artikel ini adalah metamorphic testing. Alih-alih menunggu hasil yang pasti, kita menguji konsistensi perilaku AI saat input-nya diubah sedikit.
Contoh nyatanya adalah studi kasus sistem AI milik Alibaba Cloud untuk mengenali usia dari foto wajah. Peneliti mengubah foto-foto itu:
Diputar (rotasi)
Dicerminkan (mirroring)
Diubah skalanya (zoom-in atau crop)