White Box Testing: Pengertian, Fungsi, dan Teknik-Tekniknya

9 1

Buat kamu yang baru saja ingin mendalami ilmu tentang software engineering dan belum paham tentang apa itu white box testing, kamu berada di tempat yang tepat!

Dalam kesempatan kali ini, kami akan menjelaskan lebih detail tentang white box testing. Mulai dari pengertian, penggunaan, fungsi, dan teknik-tekniknya. Berikut penjelasan lebih lengkapnya.

Apa Itu White Box Testing?

White box testing adalah sebuah teknik untuk menguji struktur, desain, dan coding internal pada perangkat lunak. Teknik ini bertujuan untuk menguji dan memverifikasi aliran input-output untuk meningkatkan kegunaan, desain, dan keamanan.

Alasan kenapa metode ini disebut dengan white box karena penguji dapat melihat secara langsung coding yang ada dalam software.

White box testing adalah satu dari dua bagian metode pengujian, metode satunya lagi bernama black box testing.

Perbedaan White Box Testing Dengan Black Box Testing

Metode pengujian software ada dua, yaitu black box dan white box. Lantas, apa yang membuat kedua metode ini berbeda?

White box sering disebut dikontraskan dengan black box testing yang melibatkan pengujian aplikasi dari sudut pandang pengguna. Untuk lebih jelasnya, mari simak pembahasan lebih singkatnya berikut ini:

  • White Box Testing: dapat mengungkap masalah struktural, kesalahan yang tersembunyi, dan masalah dengan komponen tertentu.
  • Black Box Testing: memeriksa bahwa sistem secara keseluruhan berfungsi seperti yang diharapkan.

Apa Diverifikasi Saat Melakukan White Box Testing?

Saat melakukan pengujian, umumnya developer dan tester ingin memverifikasi banyak hal, yang terdiri dari:

  1. Lubang keamanan internal
  2. Jalur yang rusak atau tidak terstruktur dengan baik saat proses coding.
  3. Melihat output yang diharapkan
  4. Melihat fungsionalitas loop
  5. Melakukan pengujian setiap pernyataan, objek, dan fungsi software secara individual.

Umumnya, tahap pengujian dilakukan pada setiap tingkat sistem, integrasi, dan unit pengembangan software. Selain itu, salah satu tujuan dasar white box testing adalah untuk memverifikasi alur kerja suatu aplikasi.

Kegiatan ini melibatkan pengujian serangkaian input yang telah developer tentukan sebelumnya terhadap output yang diharapkan atau diinginkan.

Sehingga, ketika melakukan pengujian dan tester melihat input tertentu tidak menghasilkan output yang mereka harapkan, saat itulah mereka telah menemukan kesalahan atau bug.

Metode-Metode White Box Testing

Setelah mengetahui apa itu white box testing dan kenapa metode sangat penting, sekarang kita akan membahas metode-metode apa saja untuk melakukan tahap pengujian aplikasi ini.

1. Basis Path

Metode pertama untuk menguji aplikasi adalah basis path. Metode ini memungkinkan developer untuk mengukur kompleksitas desain aplikasi.

Ukuran inilah yang akan menjadi tolak ukur untuk menyimpulkan rangkaian basis path dan rancangan aplikasi pada tiap jalur.

2. Cyclomatic Complexity

Metode white box testing kedua adalah cyclomatic complexity yang bertujuan untuk mendefinisikan jumlah jalur yang lewat dalam program aplikasi untuk memberikan nilai pada program aplikasi tersebut.

3. Graph Matrix

Metode terakhir adalah graph matrix yang merupakan matriks dari dua dimensi yang dapat membantu developer untuk menentukan himpunan basis.

Metode ini memiliki jumlah kolom dan algoritma jalur yang sama. Biasanya, metode ini digunakan untuk membedakan setiap node dengan edge dengan menggunakan nilai “0” untuk jalur program yang tidak memiliki koneksi dan “1” untuk jalur program yang memiliki koneksi.

Baca Juga : Client Server: Pengertian, Fungsi, Kelebihan dan Kekurangan

Graph matrix umumnya berbentuk segi empat dengan jumlah node yang sama dengan jumlah baris dan kolom. Secara umum, proses mengidentifikasi baris dan kolom ini hampir sama seperti mengidentifikasi node. Sehingga isi utama dari data tidak ada hubungannya dengan node.

Teknik-Teknik White Box Testing

Selain ketiga metode di atas, developer juga memiliki beberapa teknik lain untuk melakukan pengujian white box. Berikut teknik-teknik white box testing dari geeksforgeeks.org:

1. Statement Coverage

Pasted image 0

Sumber: Geeks for Geeks / Alt Text: Teknik White Box Testing

Teknik yang pertama adalah statement coverage yang bertujuan untuk melintasi semua pernyataan setidaknya sekali. Oleh karena itu, setiap baris kode diuji. Dalam kasus flowchart, setiap node harus dilalui setidaknya sekali. Karena semua baris kode tercakup, membantu menunjukkan kode yang salah.

2. Branch Coverage

Pasted image 0

Sumber: Geeks for Geeks / Alt Text: Teknik White Box Testing

Metode yang kedua adalah branch coverage. Dalam teknik ini, kasus uji ini sudah di desain sedemikian rupa sehingga setiap cabang dari semua titik keputusan harus di lalui setidaknya sekali.

3. Condition Coverage

Teknik selanjutnya adalah condition coverage. Dalam teknik ini, semua kondisi individu harus mencakup seperti yang pada contoh berikut ini:

READX, Y

IF(X == 0 || Y == 0)

Print’0′

Dalam contoh ini, ada 2 kondisi: X == 0 dan Y == 0. Sekarang, uji kondisi ini untuk mendapatkan TRUE dan FALSE sebagai nilainya. Salah satu contoh yang mungkin adalah:

#TC1 – X = 0, Y = 55

#TC2 – X = 5, Y = 0

4. Multiple Condition Coverage

Dalam teknik ini, semua kemungkinan kombinasi dari hasil yang mungkin dari kondisi yang telah di uji setidaknya sekali. Mari kita perhatikan contoh berikut:

READX, Y

IF(X == 0 || Y == 0)

PRINT’0′

#TC1: X = 0, Y = 0

#TC2: X = 0, Y = 5

#TC3: X = 55, Y = 0

#TC4: X = 55, Y = 5

Oleh karena itu, empat kasus uji diperlukan untuk dua kondisi individu.

Demikian pula, jika ada n kondisi maka 2n kasus uji akan diperlukan.

5. Basis Path Testing

Dalam teknik ini, grafik aliran kontrol dibuat dari kode atau diagram alur dan kemudian dihitung kompleksitas siklomatik yang mendefinisikan jumlah jalur independen sehingga jumlah kasus uji minimal dapat dirancang untuk setiap jalur independen.

6. Loop Testing

Ini adalah teknik umum yang ini merupakan dasar dari banyak algoritma, oleh karena itu, pengujiannya sangat penting. Kesalahan sering terjadi pada awal dan akhir loop.

  1. Simple Loop: Untuk nested loop berukuran n, kasus uji dirancang agar:

    • Lewati loop sepenuhnya
    • Hanya satu yang melewati loop
    • 2 passes
    • m passes, di mana m < n
      • n-1 dan n+1 lolos
  1. Nested Loop: Untuk nested loop, semua loop sudah di tetapkan ke jumlah minimumnya dan kita mulai dari loop terdalam. Tes loop sederhana harus di lakukan untuk loop terdalam dan ini bekerja ke luar sampai semua loop telah diuji.
  2. Concatenated Loop: Loop independen, satu demi satu. Tes loop sederhana diterapkan untuk masing-masing.

Jika mereka tidak mandiri, perlakukan mereka seperti bersarang.

Itulah penjelasan tentang apa itu white box testing. Intinya, metode pengujian ini bertujuan untuk menguji software atau aplikasi secara menyeluruh untuk meminimalisir kesalahan atau bug.

1 comment

Leave a Reply

error: Content is protected !!