Apa itu Gray Box Pengujian? Teknik, Contoh
โก Ringkasan Cerdas
Abu-abu Box Pengujian memeriksa sebuah aplikasi dengan pengetahuan parsial tentang struktur internalnya, menggabungkan tampilan yang berhadapan dengan pengguna dari pengujian kotak hitam dengan wawasan arsitektur yang cukup untuk menjelaskan mengapa kegagalan terjadi, bukan hanya sekadar bahwa kegagalan itu terjadi.
Apa itu Gray Box Pengujian?
Abu-abu Box pengujian (juga dieja Gray) Box Pengujian (Grey Testing) adalah teknik pengujian perangkat lunak yang menguji produk atau aplikasi perangkat lunak dengan pengetahuan parsial tentang struktur internal aplikasi tersebut. Tujuan dari Grey Testing adalah untuk menguji produk atau aplikasi perangkat lunak dengan pengetahuan parsial tentang struktur internal aplikasi tersebut. Box Pengujian bertujuan untuk mencari dan mengidentifikasi cacat yang disebabkan oleh struktur kode yang tidak tepat atau penggunaan aplikasi yang tidak benar.
Dalam proses ini, kesalahan spesifik konteks yang terkait dengan sistem web biasanya diidentifikasi. Teknik ini meningkatkan cakupan tes dengan memusatkan perhatian pada semua lapisan dari suatu sistem yang kompleks, bukan hanya pada salah satunya.
Abu-abu Box Pengujian adalah metode pengujian perangkat lunak yang menggabungkan Putih Box pengujian ke Black Box pengujianPerbedaan antara ketiganya terletak pada seberapa banyak struktur internal yang dapat dilihat oleh penguji:
- Dalam putih Box Pengujian struktur internal (kode) sudah diketahui.
- Hitam Box Pengujian struktur internal (kode) tidak diketahui.
- Di Abu-abu Box Pengujian struktur internal (kode) sebagian sudah diketahui.
Diagram di bawah ini menempatkan ketiga metode tersebut pada skala visibilitas yang sama.
In rekayasa Perangkat Lunak, Abu-abu Box Pengujian memberikan kemampuan untuk menguji kedua sisi aplikasi, lapisan presentasi serta kode di baliknya. Hal ini terutama berguna dalam tes integrasi ke pengujian penetrasi.
Contoh warna abu-abu Box Pengujian: Saat menguji fitur situs web seperti tautan atau tautan yatim, jika penguji menemukan masalah dengan tautan tersebut, perubahan dapat langsung dilakukan pada kode HTML dan diperiksa secara real-time.
Mengapa Abu-abu? Box pengujian
Abu-abu Box Pengujian dilakukan karena alasan-alasan berikut:
- Ini memberikan manfaat gabungan dari pengujian kotak hitam dan pengujian kotak putih.
- Hal ini menggabungkan masukan dari pengembang serta penguji dan meningkatkan kualitas produk secara keseluruhan.
- Hal ini mengurangi biaya tambahan dari proses panjang pengujian tipe fungsional dan non-fungsional.
- Hal ini memberi pengembang cukup waktu luang untuk memperbaiki kesalahan.
- Pengujian dilakukan dari sudut pandang pengguna, bukan dari sudut pandang perancang.
- Kegagalan dapat dijelaskan, bukan hanya dilaporkan, karena penguji dapat melihat lapisan tempat kegagalan itu terjadi.
Abu-abu Box Pengujian vs Hitam Box vs Putih Box pengujian
Ketiga metode tersebut bukanlah alternatif yang bersaing, melainkan tiga tingkatan akses, dan masing-masing menjawab jenis pertanyaan yang berbeda. Dengan membandingkannya secara berdampingan, pilihan menjadi lebih konkret.
| Dasar | Black Box pengujian | Abu-abu Box pengujian | Putih Box pengujian |
|---|---|---|---|
| Pengetahuan tentang struktur internal | None | Sebagian | Penuh |
| Dilakukan oleh | Penguji dan pengguna akhir | Penguji, dan pengembang yang bekerja dengan penguji. | Pengembang dan insinyur pengujian |
| Dasar desain pengujian | Persyaratan dan spesifikasi | Archikuliah, algoritma, struktur data dan antarmuka | Kode sumber dan alur kontrol |
| Tingkat tipikal | Pengujian sistem dan penerimaan | Pengujian integrasi, penetrasi, dan layanan web. | Pengujian unit dan komponen |
| Cakupan diukur sebagai | Cakupan persyaratan | Cakupan antarmuka, data, dan jalur. | Cakupan pernyataan, cabang, dan jalur. |
| Keterbatasan utama | Penyebab kegagalan tetap tersembunyi. | Kedalaman dibatasi oleh akses yang diberikan. | Mahal, dan bisa saja tidak memenuhi persyaratan yang dibutuhkan. |
Sebagian besar tim menggunakan ketiganya secara menyeluruh siklus hidup pengujian perangkat lunak, dan lapisan kotak abu-abu adalah tempat di mana cacat yang berada di antara antarmuka pengguna dan penyimpanan data biasanya terdeteksi.
Abu-abu Box Strategi Pengujian
Untuk memerankan Grey Box Dalam pengujian, penguji tidak perlu memiliki akses ke kode sumber. Sebuah pengujian dirancang berdasarkan pengetahuan tentang algoritma, arsitektur, keadaan internal, atau deskripsi tingkat tinggi lainnya tentang perilaku program.
Untuk memerankan Grey Box Pengujian:
- Metode ini menerapkan teknik sederhana dari pengujian kotak hitam.
- Metode ini didasarkan pada pembuatan kasus uji yang didorong oleh kebutuhan, sehingga semua kondisi telah ditetapkan sebelum program diuji dengan metode pernyataan.
Teknik yang digunakan untuk warna abu-abu Box Pengujiannya adalah:
- Pengujian Matriks: Teknik ini melibatkan pendefinisian semua variabel yang ada dalam program, beserta risiko yang ditimbulkan oleh masing-masing variabel, sehingga variabel yang tidak digunakan dan berisiko tinggi dapat terlihat.
- Pengujian Regresi: Memeriksa apakah perubahan pada versi sebelumnya telah menyebabkan kemunduran pada aspek lain dari program di versi baru. Hal ini dilakukan dengan strategi seperti menguji ulang semuanya, menguji ulang kasus penggunaan yang berisiko, dan menguji ulang di dalam firewall.
- Pengujian Array Ortogonal atau OAT: memberikan cakupan kode maksimum dengan jumlah kasus uji minimum.
- Pengujian Pola: dilakukan pada data historis dari kerusakan sistem sebelumnya. Tidak seperti pengujian kotak hitam, Grey Box Pengujian menelusuri kode dan menentukan mengapa kegagalan terjadi.
Abu-abu Box metodologi biasanya menggunakan otomatis alat pengujian perangkat lunak untuk melakukan pengujian. Stub dan driver modul dibuat agar penguji tidak perlu membuat kode secara manual.
Langkah-langkah untuk melakukan Grey Box Pengujiannya adalah:
- Langkah 1: Identifikasi input.
- Langkah 2: Identifikasi outputnya.
- Langkah 3: Identifikasi jalur utama.
- Langkah 4: Identifikasi subfungsi.
- Langkah 5: Mengembangkan input untuk subfungsi.
- Langkah 6: Mengembangkan output untuk subfungsi.
- Langkah 7: Jalankan kasus uji untuk subfungsi.
- Langkah 8: Verifikasi hasil yang benar untuk subfungsi.
- Langkah 9: Ulangi langkah 4 hingga 8 untuk subfungsi lainnya.
- Langkah 10: Ulangi langkah 7 dan 8 untuk subfungsi lainnya.
Kasus uji untuk Grey Box Pengujian dapat mencakup masalah GUI, keamanan, basis data, peramban, dan sistem operasi, di antara lainnya. Setiap kasus yang dihasilkan tetap memerlukan prosedur standar. Kasus cobaan atribut, karena kasus yang tidak dapat direproduksi dari deskripsinya sendiri tidak banyak berguna selama regresi.
Di mana Abu-abu Box Pengujian Digunakan
Teknik ini cocok digunakan di tempat-tempat di mana cacat hanya dapat didiagnosis dengan melihat dua lapisan sekaligus. Skenario berikut adalah yang paling sering menerapkan teknik ini:
- Alur kerja berbasis basis data: Suatu tindakan dilakukan melalui antarmuka pengguna, dan baris-baris yang dihasilkan kemudian langsung diperiksa untuk memastikan bahwa nilai, tipe, dan relasi telah disimpan sesuai yang diinginkan.
- Layanan web dan API: Permintaan dikirim dan status respons, header, serta payload diperiksa terhadap konfigurasi yang dipublikasikan.tract, yang merupakan bentuk sehari-hari dari Pengujian API.
- Titik integrasi: Pesan yang melintasi batas antara dua modul diperiksa sementara kedua modul diperlakukan sebagai sistem yang sedang berjalan, bukan sebagai file sumber.
- Penilaian keamanan: Seorang penguji penetrasi yang diberi akun pengguna biasa dan gambaran umum arsitektur akan mereplikasi posisi orang dalam, yang merupakan model keterlibatan grey box standar.
- Aplikasi web dan GUI: Tautan rusak, halaman yatim piatu, penanganan sesi, dan validasi sisi klien semuanya diperiksa dengan visibilitas parsial dari markup dan alur permintaan.
Secara keseluruhan, biaya kerusakan sistem berkurang karena masalah terdeteksi dan dijelaskan sebelum diteruskan ke tahap selanjutnya. pengujian sistem atau produksi.
Abu-abu Box Pengujian Peralatan
Tidak ada alat yang mampu menandingi Grey. Box Pengujian secara terpisah. Yang dibutuhkan kategori ini adalah kombinasi dari penggerak antarmuka, alat inspeksi untuk lapisan di bawahnya, dan cara untuk membuat skrip keduanya secara bersamaan.
- Klien API dan layanan web seperti Postman ke SoapUI, digunakan untuk mengeluarkan permintaan dan menegaskan kode status dan isi respons.
- Klien basis data dan alat kueri SQL, digunakan untuk memverifikasi status yang dipertahankan setelah tindakan antarmuka.
- Alat pengembang browser dan proxy HTTP seperti Burp SuiteDigunakan untuk memeriksa dan memodifikasi permintaan selama sesi yang berorientasi pada keamanan.
- Kerangka kerja otomatisasi UI seperti Selenium, digunakan untuk menggerakkan lapisan presentasi di dalam sebuah pengujian otomasi pada.
- Alat pencatatan dan pemantauan, digunakan untuk mengkorelasikan kegagalan yang diamati dengan apa yang dicatat aplikasi secara internal pada saat itu.
Pilihan tersebut kurang penting dibandingkan dengan pemasangan kabel: kecuali jika driver antarmuka dan langkah inspeksi berjalan dalam alur skrip yang sama, hasilnya adalah dua pemeriksaan manual terpisah daripada satu pengujian kotak abu-abu.
Abu-abu Box Tantangan Pengujian
Visibilitas parsial menimbulkan masalah yang tidak dimiliki oleh kedua metode murni, dan berikut adalah masalah yang paling sering dihadapi oleh tim:
- Ketika suatu komponen yang sedang diuji mengalami kegagalan, hal itu dapat menghentikan operasi yang sedang berlangsung dan membiarkan sisa rangkaian proses tidak dieksekusi.
- Suatu pengujian dapat berjalan sepenuhnya meskipun isi hasilnya salah, sehingga langkah verifikasi harus memeriksa nilai, bukan penyelesaiannya.
- Cakupan jalur kode penuh tidak dapat dicapai, karena penguji tidak pernah melihat setiap cabang yang akan dijangkau oleh pengujian white box.
- Dokumentasi desain yang menjadi dasar pengujian mungkin sudah usang, dan skema atau spesifikasi antarmuka yang ketinggalan zaman secara diam-diam membatalkan desain pengujian tersebut.
- Penguji membutuhkan pemahaman domain dan kedalaman teknis, yang merupakan profil keterampilan yang lebih sempit untuk direkrut.
- Terdistribusi dan sangat abstracArsitektur yang rumit menyulitkan untuk mengaitkan kegagalan yang diamati dengan komponen internal tertentu.
Keterbatasan ini menjadi alasan untuk memberikan pengobatan pada Grey. Box Pengujian sebagai salah satu lapisan di antara beberapa lapisan lainnya, bukan sebagai pengganti lapisan lainnya, yang merupakan poin yang ditegaskan dalam rangkaian yang lebih luas. teknik pengujian perangkat lunak ke jenis pengujian perangkat lunakIni sangat cocok diletakkan di sampingnya. pengujian fungsional dan pendekatan berbasis spesifikasi seperti pengujian berbasis model.

