Quality Assurance dan Pengujian Aplikasi: Jenis Tes yang Perlu Ada Sebelum Rilis
Bug yang lolos ke pengguna jauh lebih mahal daripada bug yang ditemukan saat pengembangan. Pahami jenis pengujian yang seharusnya dilakukan sebelum aplikasi dirilis.
Quality assurance aplikasi adalah rangkaian kegiatan untuk memastikan perangkat lunak bekerja benar, aman, dan nyaman dipakai sebelum sampai ke tangan pengguna. Bug yang ditemukan saat pengembangan bisa diperbaiki dalam hitungan menit. Bug yang sama setelah rilis bisa berarti data salah, layanan terhenti, atau kepercayaan pengguna turun.
Poin penting
- QA berjalan sepanjang proyek oleh tim pengembang; UAT dilakukan pengguna klien di akhir tahap.
- Jenis uji utama: fungsional, regresi, integrasi, kinerja, keamanan, dan kemudahan pakai.
- Minta bukti pengujian berupa skenario uji, hasil, dan catatan bug.
- Pengujian otomatis membantu menjaga kualitas saat aplikasi terus dikembangkan.
QA bukan hanya mencari bug
Banyak orang mengira QA sama dengan mencoba coba aplikasi di akhir proyek. Sebenarnya QA dimulai sejak analisis: memastikan kebutuhan tertulis jelas dan bisa diuji. Kebutuhan seperti "laporan harus cepat" tidak bisa diuji, sedangkan "laporan bulanan tampil dalam waktu kurang dari lima detik untuk data satu tahun" bisa diuji. Kebutuhan yang terukur memudahkan semua pihak menilai apakah aplikasi sudah benar.
Jenis pengujian yang perlu ada
- Uji fungsional: setiap fitur bekerja sesuai aturan bisnis, termasuk kasus tidak wajar seperti isian kosong, angka negatif, atau tanggal terbalik.
- Uji regresi: fitur lama diuji ulang setiap ada perubahan, agar perbaikan di satu bagian tidak merusak bagian lain.
- Uji integrasi: pertukaran data dengan sistem lain, pembayaran, email, atau WhatsApp berjalan benar, termasuk saat sistem lain sedang gangguan.
- Uji kinerja: aplikasi tetap responsif saat data besar dan banyak pengguna mengakses bersamaan, misalnya saat batas waktu pengisian.
- Uji keamanan: hak akses tidak bisa ditembus, formulir tahan terhadap injeksi, dan data sensitif terlindungi.
- Uji kemudahan pakai (usability testing): pengguna nyata diminta menyelesaikan tugas dan diamati kesulitannya.
- Uji perangkat: tampilan dan fungsi benar di peramban dan ukuran layar yang dipakai pengguna.
Usability testing secara sederhana
Usability testing tidak harus mahal. Ajak tiga sampai lima pengguna dari peran berbeda. Beri mereka tugas, misalnya "ajukan cuti tiga hari mulai minggu depan" atau "cari data mahasiswa yang belum membayar". Jangan dibantu, cukup amati dan catat di mana mereka berhenti, salah klik, atau bertanya. Temuan dari beberapa orang saja biasanya sudah menunjukkan masalah terbesar. Prinsip desainnya dibahas di artikel UI UX design aplikasi bisnis.
Pengujian manual dan otomatis
Pengujian manual tetap dibutuhkan, terutama untuk menilai kemudahan pakai dan kasus yang tidak terduga. Namun untuk fitur inti yang harus selalu benar, misalnya perhitungan tagihan atau nilai, pengujian otomatis sangat membantu. Tes otomatis dijalankan setiap kali kode berubah dan langsung memberi tahu bila ada yang rusak. Aplikasi yang akan terus dikembangkan bertahun tahun sangat diuntungkan oleh investasi ini.
Alur QA yang sehat dalam proyek
- Kebutuhan ditulis secara terukur dan disepakati.
- Skenario uji disusun dari kebutuhan, sebelum atau bersamaan dengan pengembangan.
- Pengembang menguji fiturnya sendiri, lalu diuji ulang oleh orang lain di tim.
- Bug dicatat dengan langkah reproduksi, tingkat keparahan, dan status perbaikan.
- Uji regresi dan keamanan dasar dijalankan sebelum diserahkan ke klien.
- Pengguna klien menjalankan user acceptance test dengan skenario nyata.
Bukti yang sebaiknya diminta klien
- Rencana uji: apa yang diuji, bagaimana caranya, dan siapa yang menguji.
- Daftar skenario uji beserta hasil lulus atau gagal.
- Catatan bug yang ditemukan dan sudah diperbaiki.
- Hasil uji keamanan dasar, terutama untuk aplikasi yang bisa diakses publik.
- Lingkungan uji terpisah dari produksi, dengan data contoh yang tidak memuat data pribadi asli.
Kualitas setelah rilis
QA tidak berhenti saat aplikasi dirilis. Pantau log galat, keluhan pengguna, dan waktu respons. Setiap perbaikan dan fitur baru sebaiknya melewati alur uji yang sama. Pada proyek Rajonet, pengujian bersama pengguna dan garansi perbaikan bug 3 bulan setelah serah terima menjadi bagian dari jasa software development.
Pertanyaan yang sering diajukan
Apa beda QA dan UAT?
QA (quality assurance) dilakukan tim pengembang sepanjang proyek untuk memastikan aplikasi bekerja sesuai rancangan. UAT dilakukan pengguna dari pihak klien di akhir tahap untuk memastikan aplikasi sesuai kebutuhan nyata mereka.
Apa itu regression testing?
Pengujian ulang fitur yang sudah ada setiap kali ada perubahan, untuk memastikan perbaikan atau fitur baru tidak merusak bagian lain.
Apa itu usability testing?
Pengujian dengan meminta beberapa pengguna menyelesaikan tugas nyata di aplikasi atau prototipe, lalu mengamati di mana mereka bingung atau salah langkah.
Bagaimana klien tahu vendor sudah menguji dengan baik?
Minta rencana uji, daftar skenario uji beserta hasilnya, catatan bug dan status perbaikannya, serta hasil uji keamanan dasar sebelum UAT dimulai.