Kotak Kelabu
Apakah Kotak Kelabu?
Kotak kelabu merujuk kepada ujian perisian di mana terdapat sedikit pengetahuan terhad tentang kerja dalamannya. Ujian kotak kelabu ialah teknik penggodaman beretika di mana penggodam perlu menggunakan maklumat terhad untuk mengenal pasti kekuatan dan kelemahan rangkaian keselamatan sasaran.
Memahami Kotak Kelabu
Kotak kelabu ialah gabungan ujian kotak putih, di mana penguji meneliti logik dalaman dan struktur kod perisian, dan ujian kotak hitam,. di mana penguji tidak mengetahui apa-apa tentang kod perisian. Untuk memahami ujian kotak kelabu, kita mesti memahami ujian kotak hitam dan ujian kotak putih terlebih dahulu.
Ujian Kotak Hitam dan Kotak Putih
Ujian kotak hitam melihat tidak lebih daripada input oleh pengguna dan output yang dihasilkan oleh perisian berdasarkan input tersebut. Ujian kotak hitam tidak memerlukan sebarang pengetahuan tentang bahasa pengaturcaraan atau butiran teknikal lain. Ia adalah sejenis ujian peringkat tinggi yang digunakan dalam ujian sistem dan ujian penerimaan. Jurutera perisian memerlukan dokumen spesifikasi keperluan perisian (SRS) untuk melaksanakan ujian kotak hitam. Ujian ini mengambil perspektif pengguna akhir di mana penguji kotak hitam tidak tahu bagaimana output dijana daripada input.
Ujian kotak putih memerlukan pengetahuan mendalam tentang teknik dan platform yang digunakan untuk membina perisian, termasuk bahasa pengaturcaraan yang berkaitan. Ia adalah sejenis ujian peringkat rendah yang digunakan dalam ujian unit dan ujian petunjuk. Jurutera perisian perlu memahami bahasa pengaturcaraan yang digunakan untuk mencipta aplikasi supaya mereka boleh memahami kod sumbernya. Tujuan utama ujian kotak putih adalah untuk mengukuhkan keselamatan, memeriksa cara input dan output mengalir melalui aplikasi, dan meningkatkan reka bentuk dan kebolehgunaan. Apabila penguji kotak putih tidak mendapat output yang diharapkan daripada input yang diberikan, hasilnya dianggap sebagai pepijat yang perlu diperbaiki.
Cara Ujian Kotak Kelabu Berfungsi
Ujian kotak kelabu termasuk komponen penting bagi kedua-dua ujian kotak hitam dan putih untuk mendapatkan hasil yang lebih baik daripada yang boleh diperolehi secara bersendirian. Kedua-dua pengguna akhir dan pembangun melakukan ujian kotak kelabu dengan pengetahuan terhad (separa) tentang kod sumber aplikasi. Ujian kotak kelabu boleh dilakukan secara manual atau automatik. Ia lebih komprehensif dan lebih memakan masa daripada ujian kotak hitam, tetapi tidak komprehensif atau memakan masa seperti ujian kotak putih. Penguji kotak kelabu memerlukan dokumen reka bentuk terperinci.
Ujian kotak kelabu melibatkan mengenal pasti input, output, laluan utama dan subfungsi. Ia kemudian beralih kepada membangunkan input dan output untuk subfungsi, melaksanakan kes ujian untuk subfungsi, dan mengesahkan keputusan tersebut.
Contoh Kotak Kelabu
Penguji kotak kelabu mungkin menyemak dan membetulkan pautan pada tapak web. Jika pautan tidak berfungsi, penguji menukar kod HTML untuk cuba membuat pautan berfungsi, kemudian menyemak semula antara muka pengguna untuk melihat sama ada pautan itu berfungsi. Penguji kotak kelabu mungkin juga menguji kalkulator dalam talian. Penguji akan mentakrifkan input—rumus matematik seperti 1+1, 2*2, 5-4, dan 15/3—kemudian semak untuk melihat bahawa kalkulator menyediakan output yang betul diberikan input tersebut. Penguji kotak kelabu mempunyai akses kepada kod HTML kalkulator dan boleh mengubahnya jika sebarang ralat dikenal pasti.
Ujian kotak kelabu melihat kedua-dua antara muka pengguna aplikasi, atau lapisan pembentangan, dan kerja atau kod dalamannya. Ia digunakan terutamanya dalam ujian integrasi dan ujian penembusan tetapi ia tidak sesuai untuk ujian algoritma . Ujian kotak kelabu biasanya digunakan untuk menguji antara muka pengguna, keselamatan atau kefungsian dalam talian aplikasi melalui teknik seperti ujian matriks, ujian regresi,. ujian tatasusunan ortogon dan ujian corak. Penguji kotak kelabu berkemungkinan besar mengenal pasti masalah khusus konteks.
“Kelabu” merujuk kepada keupayaan separa penguji untuk melihat kerja dalaman aplikasi. “Putih” merujuk kepada keupayaan untuk melihat melalui antara muka perisian kepada kerja dalamannya, dan “hitam” merujuk kepada ketidakupayaan untuk melihat kerja dalaman perisian. Ujian kotak kelabu kadangkala dipanggil ujian lut sinar, manakala ujian kotak putih kadangkala dipanggil ujian jelas dan ujian kotak hitam juga boleh dipanggil ujian legap.
Sorotan
Ujian kotak kelabu pada asasnya adalah gabungan metodologi kotak putih (pengetahuan penuh) dan kotak hitam (tiada pengetahuan).
Ujian kotak kelabu ialah teknik untuk menemui pepijat perisian atau mencari eksploitasi, di mana beberapa pengetahuan terhad tentang perisian asas diketahui lebih awal.
Bentuk "penggodaman beretika" ini membolehkan pembangun perisian membuat pembetulan dan tampalan untuk menghalang penyerang berniat jahat daripada menggunakan eksploitasi ini.