‘Software Testing’ Harusnya Dilakukan Dari Awal Hingga Akhir Pengembangan Aplikasi Perangkat Lunak

Dalam salah satu komentar balik dalam posting tentang ‘etos kerja yang tinggi‘, saya berjanji mau share ‘benang merah’ dari presentasi saya dalam satu acara yang saya ceritakan disana. Materi yang saya sampaikan waktu itu, sesuai dengan permintaan, adalah tentang UAT (User Acceptance Test). UAT adalah prosedur baku yang biasanya dilakukan untuk menguji perangkat lunak yang dibangun, dan akhirnya setelah melalui proses tertentu, pada akhirnya memberikan pernyataan bahwa perangkat lunak tersebut layak digunakan.

Saya ingin share dan mengingatkan saja (mungkin sebagian besar pembaca sudah mengetahuinya) bahwa

pengujian sebuah perangkat lunak idealnya dilakukan tersebar sejak awal pengembangan sampai menjadi produk yang dinyatakan selesai secara engineering.

Mengapa? Mari kita perhatikan gambar berikut.

softwaretesting_400red.jpg

Grafik sederhana tersebut memperlihatkan bahwa effort relatif yang harus dikeluarkan untuk memperbaiki sebuah perangkat lunak akan membesar luar biasa jika kita biarkan terus. Jika pada saat DEFINITION (menentukan user requirement) kita melakukan pengujian user requirement dengan teliti, maka effort relatifnya adalah 1 (satu). Jika kita biarkan lolos begitu saja sampai tahap development (design, programming), maka effort tersebut bisa bengkak sampai 6 kali lipat. Nah, lebih mengerikan lagi! Jika kita biarkan sebuah software tidak diuji secara serius dan ada kesalahan yang baru disadari setelah release, maka effort relatif yang harus kita lakukan untuk memperbaiki dampaknya bisa mencapai 100 kali lipat. Jadi pilih mana?

UAT biasanya dilakukan setelah proses development selesai. Jika kita mengharapkan manfaat maksimum dari pengembangan software di perusahaan atau organisasi kita, maka sebaiknya jangan hanya mengandalkan proses UAT, tetapi juga meningkatkan pengawasan (pengujian) software pada tahap-tahap sebelumnya.

Diharapkan pada saat proses UAT, tidak ditemukan lagi kelemahan engineering, tapi hanya sedikit perbaikan dari perspektif user dan pengoperasian. Error teknis seharusnya sudah terdeteksi dan diperbaiki pada tahap sebelumnya!

Mudah-mudahan bermanfaat.