# Gray Box: Pengertian, Cara Kerja, dan Contoh

*English: Gray Box: What It is, How it Works, Example*

> Pelajari tentang Gray Box dalam pengujian perangkat lunak, teknik peretasan etis, dan perbedaannya dengan White Box dan Black Box.

**Definisi:** Gray Box adalah metode pengujian perangkat lunak yang dilakukan dengan pengetahuan terbatas tentang cara kerja internalnya, menggabungkan elemen dari pengujian White Box dan Black Box.

**URL:** https://invespedia.belajarforex.co.id/g/gray_box

---

## Gray Box: Apa Itu, Cara Kerjanya, Contoh

## Apa Itu Gray Box?

Gray box merujuk pada pengujian perangkat lunak di mana terdapat pengetahuan terbatas tentang cara kerja internalnya. Pengujian gray box adalah teknik peretasan etis di mana peretas harus menggunakan informasi terbatas untuk mengidentifikasi kekuatan dan kelemahan jaringan keamanan target.

### Poin Penting

## Memahami Gray Box

Gray box adalah gabungan dari pengujian white box, di mana penguji memeriksa logika internal dan struktur kode perangkat lunak, dan pengujian black box, di mana penguji tidak mengetahui apa pun tentang kode perangkat lunak. Untuk memahami pengujian gray box, kita harus terlebih dahulu memahami pengujian black box dan white box.

### Pengujian Black Box dan White Box

Pengujian black box hanya melihat input oleh pengguna dan output apa yang dihasilkan perangkat lunak dari input 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 persyaratan perangkat lunak (SRS) untuk melakukan pengujian black box. Pengujian ini mengambil perspektif pengguna akhir di mana penguji black box tidak tahu bagaimana output dihasilkan dari input.

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 white box adalah untuk memperkuat keamanan, memeriksa bagaimana input dan output mengalir melalui aplikasi, dan meningkatkan desain serta kegunaan. Ketika penguji white box tidak mendapatkan output yang diharapkan dari input tertentu, hasilnya dianggap sebagai bug yang perlu diperbaiki.

## Cara Kerja Pengujian Gray Box

Pengujian gray box mencakup komponen penting dari pengujian black dan white box untuk mendapatkan hasil yang lebih baik daripada yang bisa diperoleh salah satunya sendirian. Baik pengguna akhir maupun pengembang melakukan pengujian gray box dengan pengetahuan terbatas (parsial) tentang kode sumber aplikasi. Pengujian gray box dapat dilakukan secara manual atau otomatis. Ini lebih komprehensif dan memakan waktu lebih lama daripada pengujian black box, tetapi tidak sekonprehensif atau memakan waktu seperti pengujian white box. Penguji gray box memerlukan dokumen desain terperinci.

Pengujian gray box melibatkan identifikasi input, output, jalur utama, dan subfungsi. Kemudian dilanjutkan dengan mengembangkan input dan output untuk subfungsi, mengeksekusi kasus uji untuk subfungsi, dan memverifikasi hasil tersebut.

## Contoh Gray Box

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

Pengujian gray box melihat antarmuka pengguna aplikasi, atau lapisan presentasi, dan cara kerja internalnya, atau kode. Ini terutama digunakan dalam pengujian integrasi dan pengujian penetrasi tetapi tidak cocok untuk pengujian algoritma. Pengujian gray box 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 gray box paling mungkin mengidentifikasi masalah yang spesifik konteks.

"Gray" merujuk pada kemampuan parsial penguji untuk melihat cara kerja internal aplikasi. "White" merujuk pada kemampuan untuk melihat melalui antarmuka perangkat lunak ke cara kerja internalnya, dan "black" merujuk pada ketidakmampuan untuk melihat cara kerja internal perangkat lunak. Pengujian gray box terkadang disebut pengujian translusen, sementara pengujian white box terkadang disebut pengujian jernih dan pengujian black box juga dapat disebut pengujian buram.

## Apa Keuntungan Pengujian Gray Box?

Karena pengujian gray box dimaksudkan untuk dilakukan dari perspektif pengguna atau peretas, ini dapat mengungkap kelemahan penting dalam perangkat lunak yang tidak akan terlihat jelas bagi pengembang yang mendekati pengujian dari perspektif pengembangan.

## Siapa yang Melakukan Pengujian Gray Box?

Baik pengembang maupun penguji keamanan dapat melakukan pengujian gray box. Pengujian white box dilakukan oleh pengembang dan penguji yang sangat akrab dengan kode yang digunakan untuk menulis perangkat lunak. Pengujian black box dilakukan oleh penguji yang tidak perlu mengetahui kode perangkat lunak. Pengujian gray box adalah gabungan dari keduanya dan dapat dilakukan oleh para ahli yang melakukan pengujian white box dan black box.

## Bagaimana Pengujian Gray Box Digunakan dalam Keamanan Siber?

Pengujian gray box dapat digunakan untuk melihat jenis akses apa yang dimiliki pengguna saat masuk ke situs web atau aplikasi, dan oleh karena itu, seberapa mudah atau sulit bagi seseorang untuk meretas situs tersebut dengan kredensial serupa, atau tanpa kredensial apa pun.


## FAQ

**Apa perbedaan utama antara Gray Box, White Box, dan Black Box testing?**
Gray Box testing memiliki pengetahuan parsial tentang kode, White Box testing memiliki pengetahuan penuh tentang kode, dan Black Box testing tidak memiliki pengetahuan sama sekali tentang kode.

**Siapa yang biasanya melakukan Gray Box testing?**
Pengujian Gray Box dapat dilakukan oleh pengembang dan penguji keamanan yang memiliki pemahaman parsial tentang kode aplikasi.

**Kapan Gray Box testing paling efektif digunakan?**
Gray Box testing efektif untuk pengujian integrasi, pengujian penetrasi, dan untuk mengidentifikasi masalah spesifik konteks yang mungkin terlewatkan oleh metode pengujian lain.

**Apakah Gray Box testing lebih memakan waktu daripada Black Box testing?**
Ya, Gray Box testing umumnya lebih komprehensif dan memakan waktu lebih lama daripada Black Box testing, tetapi tidak sekonprehensif atau memakan waktu seperti White Box testing.