Last Updated:
https://www.pexels.com/@pixabay

Kenapa aplikasi/program perlu di tes dulu?

Tidak ada gading yang tak retak, manusia cenderung melakukan kesalahan, dalam kesempatan ini kita akan bahas terkhusus pada rekayasa perangkat lunak, bahwa sering kali permasalahan yang timbul dikarenakan kurang memperhatikan hal-hal penting, salah asumsi, ceroboh, atau bahkan tidak tahu pasti apa yang dikerjakan sistem. Kita akan coba bahas mengenai topik ini ya.

Note: Pengujian yang dimaksud disini tidak terbatas hanya validasi akhir oleh tim QA tapi hal testing secara umum, termasuk juga pengujian oleh developer, unit testing, maupun acceptance oleh PO.


Jadi kenapa aplikasi/program perlu diuji?

Ok, mari kita bahas kenapa kita perlu melakukan pengujian dalam rekayasa perangkat lunak.

Proses pengujian sejatinya akan memberikan informasi berharga mengenai kondisi dari aplikasi/program, seberapa layak ia memenuhi standar mutu yang diharapkan  dengan cara melakukan verifikasi terhadap sistem apakah sudah memenuhi berbagai kriteria yang diharapkan seperti fungsionalitas, daya kinerja (performance), keandalan (reliability), keamanan (security), dan lain sebagainya. Verifikasi disini adalah memastikan bahwa kita merekayasa perangkat lunak dengan benar.


Apakah sistem sudah bebas masalah jika lolos hasil pengujian?

Hmm.. terlalu naif jika kita mengatakan sistem sudah bebas masalah, potensi kesalahan yang lolos masih tetap ada walaupun bisa lebih diminimalisir, menemukan masalah/bug/defect bukanlah satu-satunya tujuan dari pengujian aplikasi/program, sejatinya pengujian akan berdampak pada peningkatan kualitas dari produk, karena proses validasi yang dijalankan (jika dilakukan dengan benar) akan menjaga bahwa kita mengerjakan sistem dengan benar, dan deteksi dini masalah yang ada sehingga bisa segera diperbaiki sebelum berdampak luas pada pengguna


Apa yang terjadi jika kita tidak melakukan pengujian aplikasi?

Risiko akan selalu melekat pada setiap rekayasa perangkat lunak, sistem bisa saja tidak bekerja sebagaimana mestinya, atau proyek pengembangan yang tidak bisa diselesaikan tepat waktu, sehingga terkadang proses pengujian menjadi korban untuk dipersingkat atau bahkan ditiadakan.

Efek dari tidak melakukan pengujian aplikasi sebelum rilis adalah kecerobohan, kita mengirimkan "kucing dalam karung" ke pada pengguna aplikasi, bisa jadi bom waktu yang bisa mencoreng nama baik perusahaan atau bahkan membuat perusahan merugi, atau bahkan bisa saja mengancam jiwa seseorang!

Sebelum kita lanjutkan, hal yang harus kita perhatikan sebagai dampak yang ditimbulkan dari kesalahan pada aplikasi adalah:

  1. Manusia. (contoh: menjadi penyebab kecelakaan pada kendaraan, support sistem pasien tidak berfungsi)
  2. Perusahaan. (contoh: salah perhitungan sistem pembayaran yang mengakibatkan perusahaan mengalami kerugian)
  3. Lingkungan (contoh: pelepasan gas kimia atau radiasi ke atmosfir tanpa terdeteksi)
Bisa saja suatu ketika karena sebuah kesalahan fatal bisa berdampak pada semua (ke-tiga) sisi tersebut sekaligus, misalkan ada kereta api pengangut limbah kimia ternyata kehilangan kendali atas kemudi kereta atau hilang sambungan komunikasi dan berpotensi terjadi tabrakan dengan KRL commuterline yang berisi ribuan pekerja Bekasi, mana titik temu di Manggarai pula ahaha mirip film Unstopabble (2010) ya :D

Kita tentu saja akan sependapat bahwa pengujian pada sistem komunikasi pesawat lebih penting daripada pengujian form pendaftaran mahasiswa baru, kenapa? karena risiko yang ada pada sistem komunikasi pesawat tentu lebih besar, karena efek yang ditimbulkan ketika terjadi kegagalan sistem akan sangat serius. 

Seringkali proses pengujian dihadapkan pada segitiga sumber daya, dimana skala prioritas menjadi kompromi, karena memaksimalkan ketiganya menjadi hal yang cukup sulit diwujudkan.

 

Kesimpulan

Tujuan dilaksanakannya proses pengujian adalah untuk memastikan bahwa fitur utama pada fungsionalitas dan non-fungsional sudah dipastikan sebelum aplikasi/program memasuki tahap lebih lanjut, dan segala kesalahan yang ada telah dilaporkan pada tim pengembang untuk ditindaklanjuti. Pengujian tidak bisa menghilangkan kesalahan ataupun meningkatkan kualitas secara langsung, melainkan dengan penemuan masalah tersebuat diawal sehingga perbaikan bisa segera dilaksanakan dan berkontribusi terhadap peningkatan mutu program.

Aktifitas pengujian program ini hanyalah satu komponen dari keseluruhan proses penjagaan mutu aplikasi/program dengan mengidentifikasi masalah yang bisa menimbulkan kesalahan serius bagi penguna dan perusahaan nantinya.

Comments