Dalam kehidupan sehari-hari, pengguna tidak menyadari bahwa aplikasi yang mereka gunakan telah melewati berbagai teknik pengujian. Pengujian fungsional memastikan setiap fitur aplikasi seperti login, pengiriman notifikasi, atau pemrosesan data berjalan sesuai spesifikasi. Sementara itu, pengujian non-fungsional mengukur kecepatan aplikasi, daya tahan sistem terhadap beban tinggi, dan kemudahan penggunaan antarmuka.
Sebagai contoh, dalam e-learning, pengujian non-fungsional digunakan untuk menilai apakah server dapat menangani ribuan siswa yang mengakses materi secara bersamaan tanpa menurunkan performa.
B. Teknik Pengujian Berbasis Struktur dan Pengalaman
Teknik berbasis struktur atau white-box testing digunakan oleh pengembang untuk menguji alur logika program, sedangkan teknik berbasis pengalaman seperti exploratory testing digunakan oleh penguji untuk mengeksplorasi kemungkinan kesalahan berdasarkan intuisi dan pengalaman.
Dalam dunia nyata, exploratory testing sering diterapkan untuk menguji aplikasi yang baru dikembangkan secara cepat. Misalnya, ketika pengembang rilis versi beta aplikasi, tester mencoba fitur-fitur tanpa skrip tetap untuk menemukan bug secara spontan.
Proses dan Otomatisasi Pengujian Perangkat Lunak
A. Proses Pengujian dan Dokumentasi
Setiap proses pengujian yang dilakukan di industri mengikuti alur standar: perencanaan, pembuatan skenario uji, pelaksanaan, pencatatan hasil, dan pelaporan. Dokumentasi ini tidak hanya berguna bagi tim teknis, tetapi juga menjadi bukti validitas perangkat lunak untuk pemangku kepentingan seperti manajemen atau investor.
Misalnya, dalam pengembangan sistem absensi berbasis aplikasi, hasil pengujian disimpan sebagai laporan validasi untuk menunjukkan bahwa sistem dapat diandalkan saat digunakan oleh seluruh pegawai.
B. Otomatisasi Pengujian
Dalam dunia modern, otomatisasi pengujian sangat penting, terutama untuk aplikasi skala besar yang terus diperbarui. Otomatisasi memungkinkan pengujian dilakukan secara cepat, konsisten, dan efisien. Tools seperti Selenium, Appium, atau Jenkins digunakan untuk menjalankan skrip pengujian secara otomatis setiap kali kode diperbarui.
Contohnya, perusahaan fintech menggunakan otomatisasi testing untuk memastikan bahwa aplikasi keuangannya tetap stabil setiap kali fitur baru dirilis, mengurangi risiko error dan meningkatkan kepercayaan pengguna.