+62 896 6423 0232 | info@idmetafora.com
Software ERP Indonesia IDMETAFORA


Mengenal White Box Testing! Alat Penguji Perangkat Lunak!

1 October, 2022   |   srimulia

Mengenal White Box Testing! Alat Penguji Perangkat Lunak!

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

Yaitu, bagaimana white box menguji perangkat lunak dari sisi kode atau bagaimana penulisan teknis suatu  program dilakukan. Menurut Pressman pengujian White box testing adalah filosofi perencanaan uji kasus yang menggunakan struktur kontrol yang dijelaskan sebagai bagian dari perancangan perangkat komponen untuk menghasilkan test case itu sendiri.

Dengan menggunakan metode pengujian white box, kita dapat memperoleh test case yang:

1. Menjamin bahwa semua jalur independen dalam sebuah modul telah dieksekusi sedikitnya satu kali.

2. Melakukan sebuah keputusan logis pada sisi benar dan yang salah.

3. Melaksanakan semua loop pada batas mereka dan dalam batas operasional mereka.

4. Melakukan struktur data internal untuk memastikan validitas.

Dapat simpulkan bahwa white box testing dilakukan untuk memastikan bahwa semua kode berjalan dengan baik tanpa celah atau kesalahan yang dapat menyebabkan kesalahan cacat dari segi pemrograman.
 

Pengertian White Box Testing


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

Di sisi lain, Rossa dan Shalahuddin (2013) berpendapat bahwa White-Box Testing adalah pengujian perangkat lunak dari perspektif desain dan kode apakah dapat menghasilkan fungsi-fungsi, output dan input yang sesuai dengan spesifikasi persyaratan. Kita dapat mengatakan bahwa pengujian ini dilakukan dengan memeriksa logic dari kode program.

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

Kelebihan dan Kekurangan White Box Testing


Pada pengujian white box ini memiliki kelebihan jika digunakan pada konteks yang tepat. Dengan, demikian pengujian ini juga tidak akan efektif jika digunakan pada sikon yang tepat. Berikut ini merupakan kelebihan dan kekurangan dari pengujian white box.

Kelebihan

White box testing dapat secara efektif menemukan kesalahan logika, ketidaksesuaian asumsi, dan berbagai kesalahan ketik dalam kode perangkat lunak.

1. Kesalahan Logika

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

2. Ketidaksesuaian Asumsi

White Box testing dapat mendeteksi asumsi yang tidak sesuai dengan kenyataan, untuk analisis dan perbaikan selanjutnya.

3. Kesalahan Ketik 

Masalah ini biasanya diabaikan di berbagai lingkungan jadi,terutama untuk mendeteksi bahasa pemrograman yang bersifat case sensitive. Misalnya, pada sistem operasi windows besar-kecilnya huruf tidak dipermasalahkan, Tetapi 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.

Kelemahan

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

Teknik Pengujian White Box


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

Salah satu teknik yang digunakan  dalam pengujian White-Box Testing adalah pengujian jalur dasar (Basis Path Testing). Basis Path Testing diusulkan pertama kali oleh Tom McCabe. Metode ini memungkinkan penguji untuk dapat mengukur kompleksitas logis dari desain prosedural dan menggunakannya sebagai panduan untuk menetapkan satu set dasar dari semua jalur eksekusi (Pressman, 2012).

Berbagai teknik pengujian white box lainnya dibawah ini:

1. Statement Coverage

2. Decision Coverage

3. Branch Coverage

4. Condition Coverage

5. Multiple Condition Coverage

6. Finite State Machine Coverage

7. Path Coverage

8. Control flow testing

9. Data flow testing

 

Jenis-Jenis White Box Testing


White box testing ini  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 ini.

1.  Unit Testing

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

Pada dasarnya unit test atau unit testing ini biasanya dilakukan oleh programmer. Sebagai pengembang perangkat lunak, tentunya kita akan mengembangkan beberapa baris kode, satu fungsi, atau objek dan mengujinya untuk memastikan mereka berfungsi sebagaimana mestinya.

Pengujian Unit ini dapat  membantu mengidentifikasi sebagian besar bug di awal siklus pengembangan perangkat lunak. Bug yang sudah  diidentifikasi pada tahap ini biasanya akan  lebih mudah untuk diperbaiki.

2.  Memory Leak Testing

Memory leak atau kebocoran memori adalah penyebab utama dari aplikasi yang berjalan lebih lambat. Quality assurance yang berpengalaman dalam mendeteksi kebocoran memori sangat penting jika kita menginginkan perangkat lunak yang memiliki performa cepat karena memiliki pengguna dan data yang berskala besar.

3.  White Box Penetration Test

Pada 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 mengekspos ancaman keamanan dari dalam dengan menyerang kode dari berbagai sudut.

4.  White Box Mutation Testing

Pengujian mutasi kotak putih banyak digunakan untuk menemukan teknik pengkodean terbaik yang digunakan untuk menskalakan solusi dan kinerja perangkat lunak. Pada dasarnya, pengujian ini dilakukan untuk mendapatkan best approach serta clean code yang dapat membuat kinerja serta maintainability perangkat lunak meningkat.
 

Langkah atau Tahapan White Box Testing


Pada dasarnya,  tahapan pengujian white box adalah persiapan pengujian, pembuatan dan lakukan pengujian, dan buat laporannya. Secara lebih jelasnya, berikut adalah penjabaran dari langkah atau tahapan white box testing.

1. Mendefinisikan semua alur logika

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

2. Membantu kasus untuk digunakan dalam pengujian

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

3. Melakukan pengujian

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

Liputan Software ERP IDMETAFORA Indonesia!

Jika anda merasa artikel ini bermanfaat, bagikan ke pengikut anda melalui tombol dibawah ini:



Software ERP Indonesia

Artikel rekomendasi untuk Anda