Kotak abu-abu

Apa Kotak abu-abu?

Kotak abu-abu mengacu pada pengujian perangkat lunak di mana ada beberapa pengetahuan terbatas tentang cara kerja internalnya. Pengujian kotak abu-abu adalah teknik peretasan etis di mana peretas harus menggunakan informasi terbatas untuk mengidentifikasi kekuatan dan kelemahan jaringan keamanan target.

Poin Penting

  • Pengujian kotak abu-abu adalah teknik untuk menemukan bug perangkat lunak atau menemukan eksploitasi, di mana beberapa pengetahuan terbatas tentang perangkat lunak yang mendasarinya telah diketahui sebelumnya.
  • Bentuk “peretasan etis” ini memungkinkan pengembang perangkat lunak membuat perbaikan dan tambalan untuk mencegah penyerang jahat memanfaatkan eksploitasi ini.
  • Pengujian kotak abu-abu pada dasarnya adalah perpaduan antara metodologi kotak putih (pengetahuan penuh) dan kotak hitam (tanpa pengetahuan).

Memahami Kotak Abu-abu

Kotak abu-abu adalah hibrida dari pengujian kotak putih, di mana penguji memeriksa logika internal dan struktur kode perangkat lunak, dan pengujian kotak hitam, di mana penguji tidak tahu apa-apa tentang kode perangkat lunak. Untuk memahami pengujian kotak abu-abu, pertama-tama kita harus memahami pengujian kotak hitam dan pengujian kotak putih.

Pengujian Kotak Hitam dan Kotak Putih 

Pengujian kotak hitam tidak lebih dari masukan oleh pengguna dan keluaran apa yang dihasilkan perangkat lunak dengan masukan tersebut. Pengujian black box tidak memerlukan pengetahuan tentang bahasa pemrograman atau detail teknis lainnya. Ini adalah jenis pengujian tingkat tinggi yang digunakan dalam pengujian sistem dan pengujian penerimaan. Insinyur perangkat lunak memerlukan dokumen spesifikasi kebutuhan perangkat lunak (SRS) untuk melakukan pengujian kotak hitam. Pengujian ini mengambil perspektif pengguna akhir di mana penguji kotak hitam tidak tahu bagaimana keluaran dihasilkan dari masukan.

Pengujian white box memerlukan pengetahuan mendalam tentang teknik dan platform yang digunakan untuk membangun perangkat lunak, termasuk bahasa pemrograman yang relevan. Ini adalah jenis pengujian tingkat rendah yang digunakan dalam pengujian unit dan pengujian indikasi. Insinyur perangkat lunak perlu memahami bahasa pemrograman yang digunakan untuk membuat aplikasi sehingga mereka dapat memahami kode sumbernya. Tujuan utama pengujian kotak putih adalah untuk memperkuat keamanan, memeriksa bagaimana masukan dan keluaran mengalir melalui aplikasi, dan meningkatkan desain dan kegunaan. Ketika penguji kotak putih tidak mendapatkan keluaran yang diharapkan dari masukan yang diberikan, hasilnya dianggap sebagai bug yang perlu diperbaiki.

Bagaimana Pengujian Kotak Abu-abu Bekerja

Pengujian kotak abu-abu mencakup komponen penting dari pengujian kotak hitam dan putih untuk mendapatkan hasil yang lebih baik daripada yang bisa diperoleh sendiri. Baik pengguna akhir dan pengembang melakukan pengujian kotak abu-abu dengan pengetahuan terbatas (sebagian) dari kode sumber aplikasi. Pengujian kotak abu-abu dapat dilakukan secara manual atau otomatis. Ini lebih komprehensif dan lebih memakan waktu daripada pengujian kotak hitam, tetapi tidak komprehensif atau memakan waktu seperti pengujian kotak putih. Penguji kotak abu-abu memerlukan dokumen desain terperinci.

Pengujian kotak abu-abu melibatkan identifikasi input, output, jalur utama, dan subfungsi. Kemudian beralih ke pengembangan masukan dan keluaran untuk subfungsi, menjalankan kasus uji untuk subfungsi, dan memverifikasi hasil tersebut.

Contoh Kotak Abu-abu

Penguji kotak abu-abu mungkin memeriksa dan memperbaiki tautan di situs web. Jika tautan tidak berfungsi, penguji mengubah kode HTML untuk mencoba membuat tautan berfungsi, lalu memeriksa ulang antarmuka pengguna untuk melihat apakah tautan berfungsi. Penguji kotak abu-abu mungkin juga menguji kalkulator online. Penguji akan menentukan masukan — rumus matematika seperti 1 + 1, 2 * 2, 5-4, dan 15/3 — kemudian memeriksa untuk melihat apakah kalkulator memberikan keluaran yang benar berdasarkan masukan tersebut. Penguji kotak abu-abu memiliki akses ke kode HTML kalkulator dan dapat mengubahnya jika ada kesalahan yang teridentifikasi.

Pengujian kotak abu-abu melihat baik antarmuka pengguna aplikasi, atau lapisan presentasi, dan cara kerja internal, atau kode. Ini terutama digunakan dalam pengujian integrasi dan pengujian penetrasi tetapi tidak cocok untuk pengujian algoritma. Pengujian kotak abu-abu umumnya digunakan untuk menguji antarmuka pengguna aplikasi, keamanan, atau fungsionalitas online melalui teknik seperti pengujian matriks, pengujian regresi , pengujian array ortogonal, dan pengujian pola. Penguji kotak abu-abu kemungkinan besar akan mengidentifikasi masalah khusus konteks.

“Abu-abu” mengacu pada kemampuan parsial penguji untuk melihat cara kerja internal aplikasi. “Putih” mengacu pada kemampuan untuk melihat melalui antarmuka perangkat lunak ke cara kerja bagian dalamnya, dan “hitam” mengacu pada ketidakmampuan untuk melihat cara kerja internal perangkat lunak. Pengujian kotak abu-abu terkadang disebut pengujian tembus cahaya, sedangkan pengujian kotak putih terkadang disebut pengujian jelas dan pengujian kotak hitam juga dapat disebut pengujian buram.