White Box Testing Adalah: Pengertian, Teknik, dan Contoh

Sebelum meluncurkan sebuah perangkat lunak ke pengguna akhir, software engineer akan melakukan tahap pengujian terlebih dahulu. Nah, white box testing adalah salah satu teknik atau metode pengujian pada perangkat lunak yang paling sering diterapkan. 

White box testing atau pengujian kotak putih memiliki teknik dan ciri khas tersendiri. Anda bisa mengetahui pengertian, jenis, teknik, contoh, kelebihan dan kekurangan di sini!

White Box Testing Adalah?

White Box Testing Adalah
White Box Testing Adalah | Sumber Gambar: Pexels.com

Metode white box testing adalah teknik pengujian software yang fokus pada komponen dalam perangkat lunak, apakah sudah benar atau belum. Contoh komponen-komponen yang diuji yaitu struktur kode, desain, cara kerja perangkat lunak, dan lain sebagainya.

Tujuan utama software engineer melakukan white box testing adalah mengetahui alur logika pengiriman data mulai dari input sampai output, pengujian looping, keamanan, serta fungsi software. Hanya ahli atau profesional yang bisa melakukan pengujian kotak putih ini.

Pasalnya, tester atau penguji harus melihat dan memahami setiap kode pada perangkat lunak dengan baik. Selanjutnya, tester akan menulis kode dan memasukkannya ke test case atau uji kasus untuk memperbaiki perangkat lunak dengan mencari bug pada struktur kode.

Teknik White Box Testing

Pengujian white box umumnya dilakukan oleh software engineer atau ahli Quality Assurance (QA) yang memiliki akses ke source code, antarmuka pemrograman aplikasi (API), dan berbagai komponen internal dari perangkat lunak. Keduanya bisa menerapkan satu dari beberapa jenis teknik pengujian berikut ini:

1. Statement Coverage

Makna statement atau pernyataan bahasa pemrograman dalam white box testing adalah baris kode atau instruksi yang mampu dipahami oleh komputer. Selanjutnya, komputer akan bertindak sesuai dengan kode atau instruksi tersebut.

Teknik pengujian statement coverage dilakukan setidaknya satu kali pada kemungkinan setiap statement yang ada. Tujuannya adalah untuk menemukan kode yang error atau memiliki bug, sehingga kode tidak bisa berjalan di komputer.

2. Branch Coverage

Dalam bahasa pemrograman, branch seperti pernyataan IF yang memiliki dua opsi jawaban, yaitu “Benar” dan “Salah”. Teknik branch coverage memastikan bahwa fungsi percabangan benar dan salah telah berjalan dengan baik.

Melalui branch coverage, developer dapat mengidentifikasi kesalahan terkait pernyataan bersyarat. Setiap cabang atau jalur setidaknya harus berjalan sekali selama penggunaan software.

3. Path Coverage

Teknik selanjutnya dari white box testing adalah path coverage. Singkatnya, path coverage merupakan teknik pengujian perangkat lunak untuk memeriksa mana saja jalur yang dilewati pada status awal program berjalan. 

Tidak hanya status awal, path coverage juga menguji status tengah dan akhir untuk memastikan bahwa software berjalan dengan baik. Teknik path coverage lebih akurat karena developer maupun tester menguji program secara menyeluruh. Oleh sebab itu, banyak yang menerapkannya untuk menguji program-program kompleks.

4. Loop Testing

Teknik pengujian loop merupakan salah satu teknik mendasar pada berbagai macam algoritma. Penguji akan melakukan beberapa strategi pengujian saat menjalankan loop testing, yaitu nested loops, simple loops, dan concatenated loops.

Loop testing akan memeriksa kondisi akhir dari kode looping pada program, seperti while, do-while, for, dan jenis serupa. Apakah teknik yang programmer terapkan sudah berjalan dengan  benar atau belum.

5. Basis Path Testing

Basis path testing merupakan teknik pengujian selanjutnya yang berguna untuk menguji setiap kemungkinan jalur independen. Pengukurannya mengacu pada kompleksitas kode program serta mendefinisikan alur yang akan dieksekusi.

Orang yang mengusulkan teknik basis path testing dalam white box testing adalah Tom McCabe. Teknik ini memungkinkan penguji mendapatkan ukuran kompleksitas logical pada perancangan prosedural. Selanjutnya, penguji akan menggunakan pengujian sebagai petunjuk untuk mendefinisikan basis set pada jalur pengerjaan.

6. Compound Condition Coverage

Teknik pengujian dalam white box testing selanjutnya dikenal dengan istilah compound condition coverage. Pada teknik ini, penguji akan melakukan pengujian pada setiap kondisi. Mereka menggunakan beberapa jalur dan kombinasi jalur yang berbeda. Semua kombinasi yang ada setidaknya harus diuji sebanyak satu kali. 

7. Data Flow Coverage

Teknik data flow coverage pada white box testing adalah melibatkan pengujian data dan variabel di dalam kode. Tujuannya untuk memastikan data dan variabel sudah terdefinisi dengan benar. Selain itu, data flow coverage juga membantu mengidentifikasi kesalahan dalam kode.

8. Control Flow Testing

Terakhir, teknik control flow testing melibatkan pengujian control flow dalam aplikasi. Tujuan pengujian ini yaitu memastikan semua pernyataan dijalankan dengan benar. Selain itu, control flow testing juga membantu memastikan tidak ada pengulangan atau rekursi tak terbatas.

Contoh White Box Testing

Contoh White Box Testing
Contoh White Box Testing | Sumber Gambar: Freepik.com

Berdasarkan penjelasan konsep dasarnya di atas, white box testing adalah metode yang selalu digunakan dalam pengembangan software. Supaya Anda bisa lebih paham, berikut contoh dari pengujian kotak putih:

1. Unit Testing

Unit testing merupakan jenis pengujian pada setiap unit atau blok kode saat pengembangan. Pengembang perangkat lunak atau programmer akan langsung menguji beberapa baris kode untuk memastikan fungsinya.

Adanya unit testing membantu mengidentifikasi bug atau error pada awal siklus pengembangan software. Ketika bug sudah terdeteksi dari awal, maka proses perbaikannya akan lebih mudah dan cepat.

2. Integration Testing

Contoh lain white box testing adalah integration testing yang mana melibatkan pengujian integrasi beberapa komponen atau unit perangkat lunak. Tujuannya yaitu memastikan bahwa komponen-komponen tersebut telah bekerja sama dengan benar.

Penguji bisa melakukan integration testing dengan dua cara. Cara yang pertama yaitu manual, sementara cara yang kedua memanfaatkan alat pengujian otomatis. 

3. Code Review

Code review merupakan salah satu contoh teknik pengujian kotak putih manual yang melibatkan peninjauan kode oleh programmer. Pengujian akan melakukan identifikasi mengenai kesalahan, kerentanan, atau area yang butuh perbaikan.

Umumnya, code review memang dilakukan oleh programmer yang mengembangkan aplikasi. Namun, terkadang code review juga dilakukan oleh tim peninjau kode khusus. 

4. Code Coverage Analysis

Contoh lain white box testing adalah teknik code coverage analysis. Teknik pengujian kotak putih yang satu ini melibatkan pengukuran berapa banyak kode selama pengujian. Melalui code coverage analysis, penguji bisa mengetahui area dari kode yang belum diuji lalu memastikan bahwa seluruh jalur kode dijalankan.

5. Static Code Analysis

Jika ada pengujian kotak putih manual, ada juga yang berjalan secara otomatis. Static code analysis merupakan teknik pengujian kotak putih yang berjalan secara otomatis. Teknik pengujian ini melibatkan analisis kode sumber dari perangkat lunak. 

Tujuannya untuk mengidentifikasi bug, error, ataupun potensi masalah. Penguji membutuhkan alat untuk membantu melakukan pengujian static code analysis.

Kelebihan dan Kekurangan White Box Testing

Kelebihan dan Kekurangan White Box Testing
Kelebihan dan Kekurangan White Box Testing | Sumber Gambar: Freepik.com

White box testing adalah metode yang pastinya memiliki kelebihan dan kekurangan. Berikut ini pembahasannya:

1. Kelebihan White Box Testing

Ada beberapa kelebihan pengujian kotak putih, yaitu:

  • Bisa menemukan error atau bug yang tersembunyi.
  • Mengetahui kesalahan sintaks maupun tipografi.
  • Optimasi dan otomatisasi kode semakin mudah.
  • Mengoptimalkan kesalahan penghapusan kode.
  • Pengujian tidak membutuhkan antarmuka atau user interface.
  • Membantu menghapus baris kode tambahan yang tidak perlu.
  • Menguji semua kode dan struktur perangkat lunak secara menyeluruh.

2. Kekurangan White Box Testing

Meskipun begitu, pengujian kotak putih juga memiliki beberapa kekurangan. Berikut di antaranya:

  • White box testing adalah teknik pengujian software yang relatif mahal.
  • Pengujian terbilang kompleks dan rumit serta membutuhkan waktu yang lama.
  • Penguji atau tester harus paham betul atau ahli dalam coding dan programming
  • Membutuhkan test case untuk mendesain ulang dan menulis ulang kode.
  • Tidak melakukan pengujian pada fungsionalitas sehingga tidak bisa mendeteksi fungsionalitas yang hilang.

Baca Juga: Rekayasa Perangkat Lunak: Tujuan, Elemen, dan Contoh Menarik

White Box Testing Adalah Teknik Pengujian Software, Yuk Pahami Di Sini!

Pada intinya, tahap pengujian bertujuan untuk mengidentifikasi kesalahan atau fitur yang tidak sesuai persyaratan pembuatan software. White box testing adalah salah satu dari beberapa metode pengujian perangkat lunak yang biasa dipakai para software engineer.

Selain pengujian kotak putih, metode populer lainnya yaitu black box testing dan grey box testing. Anda juga harus mengenali metode atau teknik pengujian software lainnya agar hasil pengembangan program Anda bisa lebih sesuai dengan kebutuhan. Jadi, tidak ada kesalahan setelah produk diluncurkan.

Share:

Leave a Comment

You cannot copy content of this page