• dcc.dp@undipa.ac.id
  • Alamat: Jl. Perintis Kemerdekaan III, BTN Hamzy Blok Q No.3, Makassar, Indonesia

White Box Testing – Definisi, Teknik, Jenis, Tahapannya

User 5 Comments Juli 10, 2023

White Box Testing – Definisi, Teknik, Jenis, Tahapannya

White box testing atau pengujian kotak putih adalah salah satu metode pengujian perangkat lunak. Metode pengujian ini juga terkadang disebut juga glass box testing atau pengujian kotak kaca. Berlainan dengan black box testing, white box testing ini justru menguji perangkat lunak dari sisi internal tanpa memperhatikan fungsional seperti antarmuka perangkat lunak itu sendiri.

 

Pengertian White Box Testing

Jadi sebetulnya apa definisi dari white box testing? Mudahnya, white box testing adalah pengujian perangkat lunak yang menguji kode atau sisi internal programnya. Sisi fungsi, antarmuka, dan alurnya justru tidak diuji. Hal ini tentunya amat berlawanan dengan Black Box testing yang justru hanya menguji fungsi dari perangkat lunak tanpa memperhatikan kodenya, sehingga kedua pengujian ini saling melengkapi satu sama lain.

 

Pengujian white box dilakukan dengan meramalkan cara kerja perangkat lunak secara rinci, karenanya logical path (jalur logika) perangkat lunak akan diuji dengan menyediakan test case yang akan menguji kumpulan kondisi atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan pengujian kotak putih merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

 

Kelebihan dan Kekurangan White Box Testing

Pengujian kotak putih tentunya memiliki kelebihan jika digunakan pada konteks yang tepat. Namun demikian pengujian ini juga tidak akan efektif jika digunakan pada sikon yang tidak tepat. Berikut adalah kelebihan dan kekurangan dari pengujian kotak putih.

Kelebihan

White box testing dapat dengan efektif menemukan kesalahan logika, ketidaksesuaian asumsi, dan berbagai kesalahan ketik yang terdapat pada kode perangkat lunak.

·       Kesalahan Logika

Misalnya pada perangkat lunak digunakan sintaks “If “ dan pengulangan. White box testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. Dalam suatu kondisi pengulangan yang tidak berhenti (teruama pengulangan while) dapat membuat perangkat lunak terus memakan resource perangkat keras dan menyebabkan galat ke seluruh sistem.

·        Ketidaksesuaian Asumsi

Whitebox testing dapat mendeteksi asumsi yang tidak sesuai dengan kenyataan, untuk kemudian di analisa dan diperbaiki.

·        Kesalahan Ketik

Terutama untuk mendeteksi bahasa pemrograman yang bersifat case sensitive, karena pada lingkungan yang berbeda permasalahan ini biasanya diabaikan. Misalnya, pada sistem operasi windows besar atau kecilnya huruf tidak dipermasalahkan, sementara pada sistem operasi Linux akan menyebabkan galat jika besar kecil huruf tidak sesuai.

 

White box testing juga memiliki kelebihan dapat diotomatisasi menggunakan berbagai perangkat lunak khusus (berbagai tools White box testing) seperti Parasoft Jtest, EclEmma, PyUnit, NUnit, dsb.


Kelemahan

Untuk perangkat lunak yang tergolong memiliki skala sintaks dan script yang besar, white box testing dianggap sebagai strategi yang tergolong boros. Hal itu karena akan melibatkan sumber daya yang besar untuk melakukannya. Hal ini karena Whitebox testing akan melibatkan penggunaan aplikasi berbayar khusus dan menggunakan staff ahli yang mampu melakukan programming atau coding pula.

 

Teknik Pengujian White Box

Pengujian kotak putih (White-Box Testing) didasarkan pada pemeriksaan yang teliti terhadap detail prosedural. Jalur logis diseluruh perangkat lunak dan kolaborasi antar-komponen diuji dengan menguji serangkaian kondisi dan atau loop spesifik.

Salah satu teknik dalam pengujian White-Box Testing adalah pengujian jalur dasar (Basis Path Testing). Basis Path Testing diusulkan pertama kali oleh Tom McCabe.

 

Berbagai teknik pengujian white box lainnya meliputi:

·         Statement Coverage

·         Decision Coverage

·         Branch Coverage

·         Condition Coverage

·         Multiple Condition Coverage

·         Finite State Machine Coverage

·         Path Coverage

·         Control flow testing

·         Data flow testing

 

Jenis-Jenis White Box Testing

 

White box testing mencakup beberapa jenis pengujian yang digunakan untuk mengevaluasi kegunaan aplikasi, blok kode, atau paket perangkat lunak tertentu. Beberapa jenis-jenis white box testing adalah sebagai berikut.

 

·        Unit Testing

Jenis pengujian white box Ini sering digunakan sebagai jenis pengujian pertama yang dilakukan pada aplikasi. Pengujian Unit dilakukan pada setiap unit atau blok kode saat dikembangkan.

·        Memory Leak Testing

Memory leak atau kebocoran memori adalah penyebab utama dari aplikasi yang berjalan lebih lambat.

·       White Box Penetration Test

Dalam pengujian penetrasi ini, penguji memiliki informasi lengkap tentang kode sumber aplikasi, informasi jaringan terperinci, alamat IP yang terlibat, dan semua informasi server tempat aplikasi berjalan. Tujuannya adalah untuk menyerang kode dari beberapa sudut untuk mengekspos ancaman keamanan dari dalam.

·         White Box Mutation Testing

Pengujian mutasi kotak putih sering digunakan untuk menemukan teknik pengkodean terbaik yang digunakan untuk memperluas solusi dan kinerja perangkat lunak.

 

Langkah atau Tahapan White Box Testing

  •          Mendefinisikan semua alur logika

Tahap ini menganalisis seluruh alur logika yang terdapat pada sintaks kode perangkat lunak agar kita mengetahui pada bagian mana saja pengujian akan dilakukan.

  •          Membangun kasus untuk digunakan dalam pengujian

Pada tahap ini seluruh alur logika yang telah didefinisikan dibuat uji kasusnya.

  •           Melakukan pengujian

Pengujian dilakukan pada setiap test case atau uji kasus yang sebelumnya telah dibuat. Pada tahap ini kita juga dapat mulai membuat laporan dari hasil pengujian

  • Share: