Apa itu Pengujian Kotak PUTIH? Teknik, Contoh & Jenis

Daftar Isi:

Anonim

Pengujian Kotak Putih

White Box Testing adalah teknik pengujian perangkat lunak di mana struktur internal, desain dan pengkodean perangkat lunak diuji untuk memverifikasi aliran input-output dan untuk meningkatkan desain, kegunaan dan keamanan. Dalam pengujian kotak putih, kode dapat dilihat oleh penguji sehingga disebut juga pengujian kotak jelas, pengujian kotak terbuka, pengujian kotak transparan, pengujian berbasis kode dan pengujian kotak kaca.

Ini adalah salah satu dari dua bagian pendekatan Pengujian Kotak untuk pengujian perangkat lunak. Rekannya, pengujian Blackbox, melibatkan pengujian dari perspektif tipe pengguna akhir atau eksternal. Di sisi lain, pengujian kotak putih dalam rekayasa perangkat lunak didasarkan pada cara kerja bagian dalam aplikasi dan berkisar pada pengujian internal.

Istilah "Kotak Putih" digunakan karena konsep kotak tembus pandang. Kotak bening atau nama Kotak Putih melambangkan kemampuan untuk melihat melalui kulit terluar perangkat lunak (atau "kotak") ke dalam cara kerja bagian dalamnya. Demikian pula, "kotak hitam" dalam "Pengujian Kotak Hitam" melambangkan tidak dapat melihat cara kerja bagian dalam perangkat lunak sehingga hanya pengalaman pengguna akhir yang dapat diuji.

Dalam tutorial pengujian kotak putih ini, Anda akan belajar-

  • Apa itu Pengujian Kotak Putih?
  • Apa yang Anda verifikasi dalam Pengujian Kotak Putih?
  • Bagaimana Anda melakukan Pengujian Kotak Putih?
  • Contoh Pengujian WhiteBox
  • Teknik Pengujian Kotak Putih
  • Jenis Pengujian Kotak Putih
  • Alat Pengujian Kotak Putih
  • Keuntungan Pengujian Kotak Putih
  • Kekurangan Pengujian WhiteBox

Apa yang Anda verifikasi dalam Pengujian Kotak Putih?

Pengujian kotak putih melibatkan pengujian kode perangkat lunak untuk hal-hal berikut:

  • Lubang keamanan internal
  • Jalur rusak atau tidak terstruktur dengan baik dalam proses pengkodean
  • Aliran input spesifik melalui kode
  • Output yang diharapkan
  • Fungsionalitas loop bersyarat
  • Menguji setiap pernyataan, objek, dan fungsi secara individual

Pengujian dapat dilakukan pada tingkat sistem, integrasi dan pengembangan perangkat lunak. Salah satu tujuan dasar pengujian kotak putih adalah untuk memverifikasi aliran kerja untuk suatu aplikasi. Ini melibatkan pengujian serangkaian input yang telah ditentukan sebelumnya terhadap output yang diharapkan atau diinginkan sehingga ketika input tertentu tidak menghasilkan output yang diharapkan, Anda mengalami bug.

Klik di sini jika video tidak dapat diakses

Bagaimana Anda melakukan Pengujian Kotak Putih?

Untuk memberi Anda penjelasan sederhana tentang pengujian kotak putih, kami telah membaginya menjadi dua langkah dasar . Inilah yang dilakukan penguji saat menguji aplikasi menggunakan teknik pengujian kotak putih:

LANGKAH 1) PAHAMI KODE SUMBER

Hal pertama yang sering dilakukan penguji adalah mempelajari dan memahami kode sumber aplikasi. Karena pengujian kotak putih melibatkan pengujian cara kerja bagian dalam suatu aplikasi, penguji harus sangat menguasai bahasa pemrograman yang digunakan dalam aplikasi yang mereka uji. Selain itu, penguji harus sangat menyadari praktik pengkodean yang aman. Keamanan sering kali menjadi salah satu tujuan utama pengujian perangkat lunak. Penguji harus dapat menemukan masalah keamanan dan mencegah serangan dari peretas dan pengguna naif yang mungkin menyuntikkan kode berbahaya ke dalam aplikasi baik secara sadar maupun tidak sadar.

Langkah 2) BUAT KASUS PENGUJIAN DAN PELAKSANAAN

Langkah dasar kedua untuk pengujian kotak putih melibatkan pengujian kode sumber aplikasi untuk aliran dan struktur yang tepat. Salah satu caranya adalah dengan menulis lebih banyak kode untuk menguji kode sumber aplikasi. Penguji akan mengembangkan tes kecil untuk setiap proses atau rangkaian proses dalam aplikasi. Cara ini mengharuskan penguji harus memiliki pengetahuan yang mendalam tentang kode tersebut dan sering dilakukan oleh pengembang. Metode lain termasuk Pengujian Manual, uji coba, dan pengujian kesalahan dan penggunaan alat pengujian seperti yang akan kami jelaskan lebih lanjut di artikel ini.

Contoh Pengujian WhiteBox

Perhatikan potongan kode berikut

Printme (int a, int b) {------------ Printme adalah sebuah fungsihasil int = a + b;Jika (hasil> 0)Cetak ("Positif", hasil)LainCetak ("Negatif", hasil)} ----------- Akhir dari kode sumber 

Tujuan pengujian WhiteBox dalam rekayasa perangkat lunak adalah untuk memverifikasi semua cabang keputusan, loop, pernyataan dalam kode.

Untuk menjalankan pernyataan dalam contoh pengujian kotak putih di atas, kasus pengujian WhiteBox adalah

  • A = 1, B = 1
  • A = -1, B = -3

Teknik Pengujian Kotak Putih

Teknik pengujian kotak putih utama adalah analisis Cakupan Kode. Analisis Cakupan Kode menghilangkan celah dalam rangkaian Kasus Uji. Ini mengidentifikasi area program yang tidak dilakukan oleh serangkaian kasus uji. Setelah celah diidentifikasi, Anda membuat kasus uji untuk memverifikasi bagian kode yang belum diuji, sehingga meningkatkan kualitas produk perangkat lunak

Ada alat otomatis yang tersedia untuk melakukan analisis cakupan Kode. Di bawah ini adalah beberapa teknik analisis cakupan yang dapat digunakan oleh penguji kotak:

Cakupan Pernyataan : - Teknik ini mengharuskan setiap pernyataan yang mungkin dalam kode diuji setidaknya sekali selama proses pengujian rekayasa perangkat lunak.

Cakupan Cabang - Teknik ini memeriksa setiap jalur yang mungkin (if-else dan loop bersyarat lainnya) dari aplikasi perangkat lunak.

Selain di atas, ada banyak jenis cakupan seperti Cakupan Kondisi, Cakupan Beberapa Kondisi, Cakupan Jalur, Cakupan Fungsi, dll. Setiap teknik memiliki kelebihan dan upaya masing-masing untuk menguji (menutupi) semua bagian kode perangkat lunak. Menggunakan Laporan dan cakupan Cabang Anda biasanya mencapai cakupan kode 80-90% yang cukup. Berikut adalah Teknik Pengujian WhiteBox yang penting:

  • Cakupan Pernyataan
  • Cakupan Keputusan
  • Cakupan Cabang
  • Cakupan Kondisi
  • Cakupan Berbagai Kondisi
  • Cakupan Mesin Keadaan Hingga
  • Cakupan Jalur
  • Pengujian aliran kontrol
  • Pengujian aliran data

Lihat artikel ini untuk mempelajari lebih lanjut https://www.guru99.com/code-coverage.html

Jenis Pengujian Kotak Putih

Pengujian kotak putih mencakup beberapa jenis pengujian yang digunakan untuk mengevaluasi kegunaan aplikasi, blok kode, atau paket perangkat lunak tertentu. Ada yang tercantum di bawah ini -

  • Pengujian Unit: Ini sering kali merupakan jenis pengujian pertama yang dilakukan pada aplikasi. Pengujian Unit dilakukan pada setiap unit atau blok kode saat dikembangkan. Pengujian Unit pada dasarnya dilakukan oleh programmer. Sebagai pengembang perangkat lunak, Anda mengembangkan beberapa baris kode, satu fungsi atau objek dan mengujinya untuk memastikannya berfungsi sebelum melanjutkan Pengujian Unit membantu mengidentifikasi sebagian besar bug, di awal siklus pengembangan perangkat lunak. Bug yang teridentifikasi pada tahap ini lebih murah dan mudah diperbaiki.

  • Menguji Kebocoran Memori : Kebocoran memori adalah penyebab utama aplikasi yang berjalan lebih lambat. Seorang spesialis QA yang berpengalaman dalam mendeteksi kebocoran memori sangat penting jika Anda memiliki aplikasi perangkat lunak yang berjalan lambat.

Selain di atas, beberapa jenis pengujian adalah bagian dari pengujian kotak hitam dan kotak putih. Mereka terdaftar seperti di bawah ini

  • Pengujian Penetrasi Kotak Putih: Dalam pengujian ini, penguji / pengembang memiliki informasi lengkap tentang kode sumber aplikasi, informasi jaringan terperinci, alamat IP yang terlibat, dan semua informasi server tempat aplikasi dijalankan. Tujuannya adalah untuk menyerang kode dari beberapa sudut untuk mengekspos ancaman keamanan
  • Pengujian Mutasi Kotak Putih : Pengujian mutasi sering digunakan untuk menemukan teknik pengkodean terbaik yang digunakan untuk mengembangkan solusi perangkat lunak.

Alat Pengujian Kotak Putih

Di bawah ini adalah daftar alat pengujian kotak putih teratas.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Keuntungan Pengujian Kotak Putih

  • Pengoptimalan kode dengan menemukan kesalahan tersembunyi.
  • Kasus pengujian kotak putih dapat dengan mudah diotomatisasi.
  • Pengujian lebih menyeluruh karena semua jalur kode biasanya tercakup.
  • Pengujian dapat dimulai lebih awal di SDLC meskipun GUI tidak tersedia.

Kekurangan Pengujian WhiteBox

  • Pengujian kotak putih bisa sangat rumit dan mahal.
  • Pengembang yang biasanya menjalankan kasus pengujian kotak putih membencinya. Pengujian white box oleh pengembang yang tidak mendetail dapat menyebabkan kesalahan produksi.
  • Pengujian kotak putih membutuhkan sumber daya profesional, dengan pemahaman terperinci tentang pemrograman dan implementasi.
  • Pengujian kotak putih memakan waktu, aplikasi pemrograman yang lebih besar membutuhkan waktu untuk menguji sepenuhnya.

Catatan Akhir:

  • Pengujian kotak putih bisa sangat rumit. Kompleksitas yang terlibat banyak berkaitan dengan aplikasi yang sedang diuji. Aplikasi kecil yang melakukan satu operasi sederhana dapat diuji dalam beberapa menit, sedangkan aplikasi pemrograman yang lebih besar membutuhkan waktu berhari-hari, berminggu-minggu, dan bahkan lebih lama untuk sepenuhnya diuji.
  • Pengujian white box dalam pengujian perangkat lunak harus dilakukan pada aplikasi perangkat lunak seperti yang dikembangkan setelah ditulis dan dilakukan lagi setelah setiap modifikasi