Detail Artikel

Lebih dari Sekadar Bug: Peran QA dalam Menjaga Keamanan Aplikasi

MUHAMMAD ANSHARI SHIDQI (Mahasiswa) Dipublikasikan 08 October 2026

Membahas peran Quality Assurance dalam menjaga keamanan aplikasi melalui pengujian, review, standar, pengendalian perubahan, dan pengukuran kualitas.

Ketika sebuah aplikasi berhasil dijalankan tanpa adanya error, apakah itu berarti aplikasi tersebut sudah benar-benar aman? Belum tentu. Sebuah aplikasi bisa saja melewati berbagai pengujian fungsional, semua tombol bekerja, data dapat disimpan, dan fitur berjalan sebagaimana mestinya. Namun, di sisi lain, masih terdapat celah yang dapat dimanfaatkan oleh pihak yang tidak bertanggung jawab.

Di sinilah muncul pertanyaan yang menarik: sebenarnya apa hubungan antara Quality Assurance (QA) dan keamanan aplikasi?

Keamanan Juga Merupakan Bagian dari Kualitas

Dalam pengembangan perangkat lunak, kualitas tidak hanya berarti aplikasi mampu menjalankan fitur sesuai requirement. Ada pula kebutuhan yang tidak selalu tertulis, tetapi secara alami diharapkan oleh pengguna.

Pressman menyebutnya sebagai implicit requirements, yaitu kebutuhan yang dianggap sudah sewajarnya ada meskipun tidak dituliskan secara eksplisit. Keamanan merupakan salah satu contohnya. Pengguna mungkin tidak pernah menulis bahwa aplikasi harus melindungi data mereka, tetapi tentu mengharapkan data tersebut tidak mudah dicuri atau diakses sembarang orang.

Pandangan tersebut sejalan dengan ISO 25010, standar yang digunakan untuk menggambarkan karakteristik kualitas perangkat lunak. Di dalamnya, security termasuk salah satu atribut kualitas, bersama karakteristik seperti reliability atau keandalan. Artinya, keamanan bukan sekadar tambahan setelah aplikasi selesai dibuat, tetapi bagian dari kualitas aplikasi itu sendiri.

QA Tidak Hanya Menguji Fitur

Salah satu aktivitas QA adalah melakukan review atau inspeksi terhadap hasil pengembangan. Dalam IEEE 1028, misalnya, terdapat berbagai bentuk review untuk menemukan masalah pada dokumen, requirement, maupun rancangan perangkat lunak sebelum masuk terlalu jauh ke tahap pengembangan.

Cara ini penting karena kesalahan yang ditemukan sejak awal biasanya lebih mudah diperbaiki dibandingkan masalah yang baru ditemukan setelah aplikasi digunakan. QA karena itu tidak hanya bekerja di akhir proses, tetapi juga berusaha mencegah masalah sejak tahap awal.

Pengujian pun tidak berhenti pada pertanyaan, “Apakah fitur ini berjalan?” QA juga perlu melihat apa yang terjadi ketika aplikasi diberikan kondisi yang tidak ideal.

Misalnya, halaman login berhasil digunakan ketika username dan password benar. Namun, bagaimana jika password salah berkali-kali? Bagaimana jika pengguna memasukkan karakter yang tidak biasa? Atau bagaimana jika seseorang mencoba mengakses halaman tertentu tanpa melalui proses login?

Skenario tersebut menunjukkan bahwa pengujian QA dapat bersinggungan dengan keamanan. QA berusaha melihat kemungkinan kegagalan dari berbagai kondisi, termasuk kondisi yang mungkin dimanfaatkan untuk mencari celah.

QA juga berkaitan dengan penerapan standar, pengendalian perubahan, serta pencatatan hasil pengujian. Perubahan kode yang tidak terkontrol dapat menyebabkan masalah lama muncul kembali atau menciptakan masalah baru. Karena itu, proses perubahan perlu dikelola dan hasil pengujian maupun temuan perlu dicatat dengan jelas.

QA dan Cybersecurity: Berbeda, tetapi Saling Mendukung

QA bukan pengganti security engineer. Keduanya memiliki fokus berbeda. Tim cybersecurity berfokus pada perlindungan sistem dan pengelolaan risiko keamanan, sedangkan QA memastikan proses pengembangan dan pengujian dilakukan secara sistematis sehingga kualitas dapat dijaga.

Hubungan keduanya dapat dilihat melalui berbagai standar dan kerangka kerja. ISO/IEC 27000 berkaitan dengan pengelolaan keamanan informasi, ISO 19011 memberikan panduan mengenai audit, sedangkan COBIT digunakan sebagai kerangka tata kelola teknologi informasi.

Dalam pengembangan perangkat lunak, OWASP Top 10 juga dapat menjadi acuan untuk memahami risiko keamanan aplikasi web yang umum. Sementara itu, NIST SSDF memberikan kerangka praktik untuk memasukkan keamanan ke dalam proses pengembangan perangkat lunak.

Sederhananya, jika cybersecurity bertugas membangun pagar untuk melindungi sebuah rumah, QA membantu memastikan pagar tersebut benar-benar dipasang dengan benar dan tidak ada sisi rumah yang terlewat.

Ketika Kualitas Berkaitan dengan Kepercayaan

Masalah kualitas yang lolos hingga digunakan pengguna dapat menimbulkan biaya yang lebih besar. Dalam konsep cost of quality, kegagalan yang ditemukan setelah produk sampai kepada pengguna termasuk external failure cost. Pada masalah keamanan, dampaknya tidak hanya berupa biaya teknis, tetapi juga dapat memengaruhi kepercayaan pengguna.

Karena itu, QA membantu menggeser pendekatan dari sekadar memperbaiki kegagalan menjadi mencegah kegagalan. Review, pengujian, penerapan standar, pengendalian perubahan, dan dokumentasi membantu memastikan kualitas tidak hanya menjadi klaim, tetapi dapat dibuktikan melalui proses yang jelas.

Pada akhirnya, keamanan bukan tanggung jawab satu tim saja. QA, pengembang, dan tim keamanan memiliki peran masing-masing dalam menjaga kualitas perangkat lunak.

Aplikasi yang berkualitas bukan hanya aplikasi yang dapat berjalan tanpa error, tetapi aplikasi yang dapat berfungsi dengan baik sekaligus layak dipercaya oleh penggunanya.