Apa itu Grey Box
Kotak abu-abu adalah pengujian perangkat lunak dengan 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.
BREAKING DOWN Grey Box
Kotak abu-abu adalah campuran pengujian kotak putih, di mana tester memeriksa logika internal dan struktur kode perangkat lunak, dan pengujian kotak hitam, di mana tester tidak tahu apa-apa tentang kode perangkat lunak. Untuk memahami pengujian kotak abu-abu, pertama-tama kita harus memahami hitam pengujian kotak dan pengujian kotak putih.
Pengujian Kotak Hitam dan Kotak Putih
Pengujian black box melihat tidak lebih dari input oleh pengguna dan output apa yang dihasilkan oleh perangkat lunak yang diberikan input tersebut. Pengujian kotak hitam tidak memerlukan pengetahuan 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 output dihasilkan dari input.
Pengujian white box membutuhkan 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 input dan output mengalir melalui aplikasi, dan meningkatkan desain dan kegunaan. Ketika penguji kotak putih tidak mendapatkan output yang diharapkan dari input yang diberikan, hasilnya dianggap sebagai bug yang perlu diperbaiki.
Pengujian Gray Box
Pengujian kotak abu-abu mencakup komponen penting baik pengujian kotak hitam maupun putih untuk mendapatkan hasil yang lebih baik daripada yang bisa diperoleh sendiri. Baik pengguna akhir dan pengembang melakukan pengujian kotak abu-abu dengan pengetahuan kode sumber aplikasi yang terbatas (sebagian). 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 membutuhkan dokumen desain terperinci.
Pengujian kotak abu-abu melibatkan mengidentifikasi input, mengidentifikasi output, mengidentifikasi jalur utama dan mengidentifikasi subfungsi. Kemudian beralih ke mengembangkan input dan output untuk subfungsi, menjalankan uji kasus 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, tester mengubah kode HTML untuk mencoba membuat tautan berfungsi, lalu periksa kembali antarmuka pengguna untuk melihat apakah tautan tersebut berfungsi. Penguji kotak abu-abu juga dapat menguji kalkulator online. Penguji akan menentukan input — rumus matematika seperti 1 + 1, 2 * 2, 5–4 dan 15/3 — kemudian memeriksa untuk melihat bahwa kalkulator memberikan hasil yang benar sesuai dengan input tersebut. Penguji kotak abu-abu memiliki akses ke kode HTML kalkulator dan dapat mengubahnya jika ada kesalahan yang diidentifikasi.
Pengujian kotak abu-abu terlihat pada antarmuka pengguna aplikasi, atau lapisan presentasi, dan cara kerjanya, 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 paling mungkin untuk mengidentifikasi masalah-masalah spesifik konteks.
"Abu-abu" mengacu pada kemampuan parsial penguji untuk melihat cara kerja internal aplikasi. "Putih" mengacu pada kemampuan untuk melihat melalui antarmuka perangkat lunak untuk pekerjaan bagian dalamnya dan "hitam" mengacu pada ketidakmampuan untuk melihat kerja internal perangkat lunak. Pengujian kotak abu-abu kadang-kadang disebut pengujian tembus, sedangkan pengujian kotak putih kadang-kadang disebut pengujian jelas dan pengujian kotak hitam juga disebut pengujian buram.