{"id":27796,"date":"2023-12-08T00:35:52","date_gmt":"2023-12-07T17:35:52","guid":{"rendered":"https:\/\/hotelier.id\/studi\/?p=27796"},"modified":"2023-12-08T00:35:52","modified_gmt":"2023-12-07T17:35:52","slug":"white-box-testing-adalah","status":"publish","type":"post","link":"https:\/\/hotelier.id\/studi\/white-box-testing-adalah\/","title":{"rendered":"White Box Testing Adalah: Pengertian, Teknik, dan Contoh"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sebelum meluncurkan sebuah perangkat lunak ke pengguna akhir, <em>software engineer <\/em>akan melakukan tahap pengujian terlebih dahulu. Nah, <em>white box testing <\/em>adalah salah satu teknik atau metode pengujian pada perangkat lunak yang paling sering diterapkan.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>White box testing <\/em>atau pengujian kotak putih memiliki teknik dan ciri khas tersendiri. Anda bisa mengetahui pengertian, jenis, teknik, contoh, kelebihan dan kekurangan di sini!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">White Box Testing Adalah?<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2258\" height=\"1500\" src=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah.jpeg\" alt=\"White Box Testing Adalah \" class=\"wp-image-27798\" srcset=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah.jpeg 2258w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah-300x199.jpeg 300w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah-1024x680.jpeg 1024w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah-768x510.jpeg 768w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah-1536x1020.jpeg 1536w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/1.-White-Box-Testing-Adalah-2048x1360.jpeg 2048w\" sizes=\"auto, (max-width: 2258px) 100vw, 2258px\" \/><figcaption class=\"wp-element-caption\">White Box Testing Adalah | Sumber Gambar: Pexels.com<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Metode <em>white box testing <\/em>adalah teknik pengujian <em>software <\/em>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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tujuan utama <em>software engineer <\/em>melakukan <em>white box testing <\/em>adalah mengetahui alur logika pengiriman data mulai dari <em>input <\/em>sampai <em>output<\/em>, pengujian <em>looping<\/em>, keamanan, serta fungsi <em>software<\/em>. Hanya ahli atau profesional yang bisa melakukan pengujian kotak putih ini.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pasalnya, <em>tester <\/em>atau penguji harus melihat dan memahami setiap kode pada perangkat lunak dengan baik. Selanjutnya, <em>tester <\/em>akan menulis kode dan memasukkannya ke <em>test case <\/em>atau uji kasus untuk memperbaiki perangkat lunak dengan mencari <em>bug<\/em> pada struktur kode.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Teknik White Box Testing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pengujian <em>white box<\/em> umumnya dilakukan oleh <em>software engineer<\/em> atau ahli <em>Quality Assurance<\/em> (QA) yang memiliki akses ke <em>source code<\/em>, antarmuka pemrograman aplikasi (API), dan berbagai komponen internal dari perangkat lunak. Keduanya bisa menerapkan satu dari beberapa jenis teknik pengujian berikut ini:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Statement Coverage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Makna <em>statement <\/em>atau pernyataan bahasa pemrograman dalam <em>white box testing <\/em>adalah baris kode atau instruksi yang mampu dipahami oleh komputer. Selanjutnya, komputer akan bertindak sesuai dengan kode atau instruksi tersebut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Teknik pengujian <em>statement coverage <\/em>dilakukan setidaknya satu kali pada kemungkinan setiap <em>statement <\/em>yang ada. Tujuannya adalah untuk menemukan kode yang <em>error <\/em>atau memiliki <em>bug<\/em>, sehingga kode tidak bisa berjalan di komputer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Branch Coverage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam bahasa pemrograman, <em>branch <\/em>seperti pernyataan IF yang memiliki dua opsi jawaban, yaitu \u201cBenar\u201d dan \u201cSalah\u201d. Teknik <em>branch coverage<\/em> memastikan bahwa fungsi percabangan benar dan salah telah berjalan dengan baik.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Melalui <em>branch coverage<\/em>, <em>developer <\/em>dapat mengidentifikasi kesalahan terkait pernyataan bersyarat. Setiap cabang atau jalur setidaknya harus berjalan sekali selama penggunaan <em>software<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Path Coverage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teknik selanjutnya dari <em>white box testing <\/em>adalah <em>path coverage<\/em>. Singkatnya, <em>path coverage <\/em>merupakan teknik pengujian perangkat lunak untuk memeriksa mana saja jalur yang dilewati pada status awal program berjalan.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tidak hanya status awal, <em>path coverage <\/em>juga menguji status tengah dan akhir untuk memastikan bahwa <em>software <\/em>berjalan dengan baik. Teknik <em>path coverage <\/em>lebih akurat karena <em>developer <\/em>maupun <em>tester <\/em>menguji program secara menyeluruh. Oleh sebab itu, banyak yang menerapkannya untuk menguji program-program kompleks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Loop Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teknik pengujian <em>loop <\/em>merupakan salah satu teknik mendasar pada berbagai macam algoritma. Penguji akan melakukan beberapa strategi pengujian saat menjalankan <em>loop testing<\/em>, yaitu <em>nested loops, simple loops, <\/em>dan <em>concatenated loops<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Loop testing <\/em>akan memeriksa kondisi akhir dari kode <em>looping<\/em> pada program, seperti <em>while, do-while, for, <\/em>dan jenis serupa. Apakah teknik yang <em>programmer <\/em>terapkan sudah berjalan dengan&nbsp; benar atau belum.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Basis Path Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Basis path testing <\/em>merupakan teknik pengujian selanjutnya yang berguna untuk menguji setiap kemungkinan jalur independen. Pengukurannya mengacu pada kompleksitas kode program serta mendefinisikan alur yang akan dieksekusi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Orang yang mengusulkan teknik <em>basis path testing <\/em>dalam <em>white box testing <\/em>adalah Tom McCabe. Teknik ini memungkinkan penguji mendapatkan ukuran kompleksitas <em>logical <\/em>pada perancangan prosedural. Selanjutnya, penguji akan menggunakan pengujian sebagai petunjuk untuk mendefinisikan basis set pada jalur pengerjaan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Compound Condition Coverage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teknik pengujian dalam <em>white box testing <\/em>selanjutnya dikenal dengan istilah <em>compound condition coverage. <\/em>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.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Data Flow Coverage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teknik <em>data flow coverage <\/em>pada <em>white box testing <\/em>adalah melibatkan pengujian data dan variabel di dalam kode. Tujuannya untuk memastikan data dan variabel sudah terdefinisi dengan benar. Selain itu, <em>data flow coverage <\/em>juga membantu mengidentifikasi kesalahan dalam kode.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Control Flow Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Terakhir, teknik <em>control flow testing<\/em> melibatkan pengujian <em>control flow <\/em>dalam aplikasi. Tujuan pengujian ini yaitu memastikan semua pernyataan dijalankan dengan benar. Selain itu, <em>control flow testing <\/em>juga membantu memastikan tidak ada pengulangan atau rekursi tak terbatas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Contoh White Box Testing<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1060\" height=\"707\" src=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/2.-Contoh-White-Box-Testing.jpg\" alt=\"Contoh White Box Testing \" class=\"wp-image-27799\" srcset=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/2.-Contoh-White-Box-Testing.jpg 1060w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/2.-Contoh-White-Box-Testing-300x200.jpg 300w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/2.-Contoh-White-Box-Testing-1024x683.jpg 1024w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/2.-Contoh-White-Box-Testing-768x512.jpg 768w\" sizes=\"auto, (max-width: 1060px) 100vw, 1060px\" \/><figcaption class=\"wp-element-caption\">Contoh White Box Testing | Sumber Gambar: Freepik.com<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Berdasarkan penjelasan konsep dasarnya di atas, <em>white box testing <\/em>adalah metode yang selalu digunakan dalam pengembangan <em>software<\/em>. Supaya Anda bisa lebih paham, berikut contoh dari pengujian kotak putih:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Unit Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Unit testing <\/em>merupakan jenis pengujian pada setiap unit atau blok kode saat pengembangan. Pengembang perangkat lunak atau <em>programmer <\/em>akan langsung menguji beberapa baris kode untuk memastikan fungsinya.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adanya <em>unit testing <\/em>membantu mengidentifikasi <em>bug <\/em>atau <em>error <\/em>pada awal siklus pengembangan <em>software<\/em>. Ketika <em>bug <\/em>sudah terdeteksi dari awal, maka proses perbaikannya akan lebih mudah dan cepat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Integration Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contoh lain <em>white box testing <\/em>adalah <em>integration testing <\/em>yang mana melibatkan pengujian integrasi beberapa komponen atau unit perangkat lunak. Tujuannya yaitu memastikan bahwa komponen-komponen tersebut telah bekerja sama dengan benar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Penguji bisa melakukan <em>integration testing <\/em>dengan dua cara. Cara yang pertama yaitu manual, sementara cara yang kedua memanfaatkan alat pengujian otomatis.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Code Review<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Code review <\/em>merupakan salah satu contoh teknik pengujian kotak putih manual yang melibatkan peninjauan kode oleh <em>programmer<\/em>. Pengujian akan melakukan identifikasi mengenai kesalahan, kerentanan, atau area yang butuh perbaikan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Umumnya, <em>code review <\/em>memang dilakukan oleh <em>programmer <\/em>yang mengembangkan aplikasi. Namun, terkadang <em>code review <\/em>juga dilakukan oleh tim peninjau kode khusus.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Code Coverage Analysis<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contoh lain <em>white box testing <\/em>adalah teknik <em>code coverage analysis<\/em>. Teknik pengujian kotak putih yang satu ini melibatkan pengukuran berapa banyak kode selama pengujian. Melalui <em>code coverage analysis, <\/em>penguji bisa mengetahui area dari kode yang belum diuji lalu memastikan bahwa seluruh jalur kode dijalankan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Static Code Analysis<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jika ada pengujian kotak putih manual, ada juga yang berjalan secara otomatis. <em>Static code analysis <\/em>merupakan teknik pengujian kotak putih yang berjalan secara otomatis. Teknik pengujian ini melibatkan analisis kode sumber dari perangkat lunak.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tujuannya untuk mengidentifikasi <em>bug, error, <\/em>ataupun potensi masalah. Penguji membutuhkan alat untuk membantu melakukan pengujian <em>static code analysis.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kelebihan dan Kekurangan White Box Testing<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1060\" height=\"706\" src=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/3.-Kelebihan-dan-Kekurangan-White-Box-Testing.jpg\" alt=\"Kelebihan dan Kekurangan White Box Testing \" class=\"wp-image-27800\" srcset=\"https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/3.-Kelebihan-dan-Kekurangan-White-Box-Testing.jpg 1060w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/3.-Kelebihan-dan-Kekurangan-White-Box-Testing-300x200.jpg 300w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/3.-Kelebihan-dan-Kekurangan-White-Box-Testing-1024x682.jpg 1024w, https:\/\/hotelier.id\/studi\/wp-content\/uploads\/2023\/11\/3.-Kelebihan-dan-Kekurangan-White-Box-Testing-768x512.jpg 768w\" sizes=\"auto, (max-width: 1060px) 100vw, 1060px\" \/><figcaption class=\"wp-element-caption\">Kelebihan dan Kekurangan White Box Testing | Sumber Gambar: Freepik.com<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>White box testing <\/em>adalah metode yang pastinya memiliki kelebihan dan kekurangan. Berikut ini pembahasannya:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Kelebihan White Box Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ada beberapa kelebihan pengujian kotak putih, yaitu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bisa menemukan <em>error <\/em>atau <em>bug <\/em>yang tersembunyi.<\/li>\n\n\n\n<li>Mengetahui kesalahan sintaks maupun tipografi.<\/li>\n\n\n\n<li>Optimasi dan otomatisasi kode semakin mudah.<\/li>\n\n\n\n<li>Mengoptimalkan kesalahan penghapusan kode.<\/li>\n\n\n\n<li>Pengujian tidak membutuhkan antarmuka atau <em>user interface.<\/em><\/li>\n\n\n\n<li>Membantu menghapus baris kode tambahan yang tidak perlu.<\/li>\n\n\n\n<li>Menguji semua kode dan struktur perangkat lunak secara menyeluruh.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Kekurangan White Box Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Meskipun begitu, pengujian kotak putih juga memiliki beberapa kekurangan. Berikut di antaranya:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>White box testing <\/em>adalah teknik pengujian <em>software <\/em>yang relatif mahal.<\/li>\n\n\n\n<li>Pengujian terbilang kompleks dan rumit serta membutuhkan waktu yang lama.<\/li>\n\n\n\n<li>Penguji atau <em>tester <\/em>harus paham betul atau ahli dalam <em>coding <\/em>dan <em>programming<\/em>.&nbsp;<\/li>\n\n\n\n<li>Membutuhkan <em>test case <\/em>untuk mendesain ulang dan menulis ulang kode.<\/li>\n\n\n\n<li>Tidak melakukan pengujian pada fungsionalitas sehingga tidak bisa mendeteksi fungsionalitas yang hilang.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Baca Juga: <a href=\"https:\/\/hotelier.id\/studi\/rekayasa-perangkat-lunak\/\" target=\"_blank\" rel=\"noreferrer noopener\">Rekayasa Perangkat Lunak: Tujuan, Elemen, dan Contoh Menarik<\/a><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">White Box Testing Adalah Teknik Pengujian Software, Yuk Pahami Di Sini!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pada intinya, tahap pengujian bertujuan untuk mengidentifikasi kesalahan atau fitur yang tidak sesuai persyaratan pembuatan <em>software<\/em>. <em>White box testing <\/em>adalah salah satu dari beberapa metode pengujian perangkat lunak yang biasa dipakai para <em>software engineer<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selain pengujian kotak putih, metode populer lainnya yaitu <em>black box testing <\/em>dan <em>grey box testing<\/em>. Anda juga harus mengenali metode atau teknik pengujian <em>software<\/em> lainnya agar hasil pengembangan program Anda bisa lebih sesuai dengan kebutuhan. Jadi, tidak ada kesalahan setelah produk diluncurkan.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>White box testing adalah metode pengujian software yang fokus pada komponen di dalamnya. Cari tahu teknik dan contoh penerapannya di sini!<\/p>\n","protected":false},"author":2,"featured_media":27797,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-27796","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wawasan"],"_links":{"self":[{"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/posts\/27796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/comments?post=27796"}],"version-history":[{"count":3,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/posts\/27796\/revisions"}],"predecessor-version":[{"id":27803,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/posts\/27796\/revisions\/27803"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/media\/27797"}],"wp:attachment":[{"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/media?parent=27796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/categories?post=27796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hotelier.id\/studi\/wp-json\/wp\/v2\/tags?post=27796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}