Mari kita pertama-tama mencoba memahami seperti apa cakupan Kode.

Ini adalah semacam metrik yang dimaksudkan untuk mengukur upaya pengujian yang diterapkan pada aplikasi perangkat lunak.

Hal ini bertujuan untuk memeriksa kode secara langsung dan oleh karena itu merupakan bentuk pengujian kotak putih.

Bagaimana cara kami menangkap metrik cakupan kode?

Proses ini melibatkan Instrumentasi program dan pelaksanaan tes. Dengan cara ini kita dapat mengidentifikasi kode yang telah dieksekusi dan yang telah ditinggalkan. Kita dapat melihat bahwa unit Pengujian & cakupan kode saling melengkapi satu sama lain. Pengujian unit menegaskan kepatuhan kinerja program dengan memperhatikan persyaratan, sedangkan cakupan kode mengungkapkan area yang tidak termasuk dalam pengujian.

Proses pengembangan perangkat lunak bertujuan untuk memiliki pengukuran cakupan dengan cara mendefinisikan jumlah cabang atau pernyataan yang tercakup dalam pengujian. Bahkan setelah memiliki cakupan cabang lengkap atau cakupan pernyataan, tidak ada jaminan tidak adanya beberapa bug kunci dalam kode. Oleh karena itu, 100% cakupan cabang atau cakupan pernyataannya masih cukup ilusif & tidak memberikan kepastian kesempurnaan bagi pengembang dan pengelola

Sekarang titik kunci diskusi tetap bahwa memiliki cakupan lengkap tetap tidak memadai. Alasan yang menjadi cakupan cabang serta cakupan pernyataan tidak memberikan konfirmasi pelaksanaan logika kode. Cakupan cabang dan cakupan pernyataan sangat membantu dalam mengidentifikasi masalah utama di bagian kode yang tersisa dari eksekusi.

Namun teknik cakupan jalan relatif jauh lebih kasar & membantu kita mengungkapkan cacat selama tahap awal. Sebelum kita masuk lebih dalam cakupan jalan, mari kita menganalisis beberapa kelemahan cakupan cabang dan teknik cakupan pernyataan.

Liputan Pernyataan:

Manfaat utama dari cakupan pernyataan adalah bahwa ia sangat mampu mengisolasi bagian kode, yang tidak dapat dijalankan. Kriteria cakupan pernyataan panggilan untuk memiliki jumlah kasus uji yang memadai untuk program untuk memastikan pelaksanaan setiap pernyataan setidaknya sekali. Meskipun mencapai cakupan pernyataan 100%, ada kemungkinan memiliki banyak bug yang tidak terdeteksi.

Dengan demikian, laporan liputan yang menyatakan bahwa pernyataan 100% akan menyesatkan manajer untuk merasa senang dengan godaan palsu untuk menghentikan pengujian lebih lanjut yang dapat menyebabkan pelepasan kode yang rusak ke dalam produksi massal. Dengan demikian kita tidak dapat melihat cakupan pernyataan 100% cukup untuk membangun jumlah kepercayaan yang wajar pada perilaku sempurna dari aplikasi.

Karena cakupan pernyataan 100% cenderung menjadi mahal, para pengembang memilih teknik pengujian yang lebih baik yang disebut cakupan cabang.

Cakupan Cabang atau Cakupan Keputusan:

Cakupan cabang lebih mengesankan karena cenderung masuk lebih dalam ke kode dibandingkan dengan teknik cakupan pernyataan. Cakupan cabang adalah metrik untuk pengukuran hasil keputusan yang harus diuji. Kriteria cakupan cabang memerlukan jumlah kasus uji yang memadai untuk setiap program untuk memastikan pelaksanaan setiap keputusan atau cabang setidaknya sekali. Di sebagian besar cakupan cabang produk dipandang sebagai cakupan minimum. Jadi ini lebih baik daripada cakupan pernyataan, masih tidak cukup untuk aplikasi yang membutuhkan integritas lebih tinggi.

Sangat mudah untuk menentukan berapa banyak cabang yang harus dimiliki suatu metode. Metode sederhana untuk mengimplementasikan hasil keputusan, metode yang dapat dilakukan, adalah menghitung jumlah cabang yang diharapkan akan ditutupi bersama dengan penambahan satu cabang masuk lagi di dalamnya.

Telah terlihat bahwa bahkan 100% pencapaian cakupan pernyataan dan juga cakupan cabang tidak cukup. Terlebih lagi untuk metode yang rumit, praktis tidak layak untuk melakukan pengujian untuk masing-masing & setiap jalur. Ini menuntut perlunya alternatif yang lebih baik dari pengujian yaitu cakupan jalur tertentu.

Cakupan Jalur Dasar:

Jalur tidak lain hanyalah cara eksekusi berlangsung di seluruh metode langsung dari awal hingga akhir. Paths, yang Independen, dikenal sebagai basis set juga. Dengan kata lain, basis set adalah kelompok terkecil dari jalur yang dikelompokkan bersama untuk membentuk semua kombinasi jalur yang mungkin di seluruh metode.

Kriteria cakupan jalur memerlukan jumlah kasus uji yang memadai untuk setiap jalur yang layak, jalur dasar untuk memastikan pelaksanaan setiap jalur setidaknya sekali dalam segmen program.

Jika ada yang mengatakan N jumlah keputusan dalam suatu metode, maka itu bisa memiliki 2 ^ N jumlah jalur. Namun dalam hal metode memiliki loop, jumlah jalur bisa menjadi tak terbatas. Karena sangat banyak jalur dalam aplikasi, cakupan jalur juga cenderung menjadi sulit. Untuk mengurangi jumlah jalur untuk pengujian, kita dapat mengambil bantuan dari metrik yang dikenal sebagai Kompleksitas Cyclomatic. Pertanyaan tentang seberapa banyak cakupan jalur yang diperlukan dijawab tergantung pada kompleksitas atau faktor risiko yang terlibat dalam aplikasi yang diuji.

Cakupan jalur dasar mirip dengan cakupan cabang dengan cara yang memastikan pengujian / pelaksanaan setiap hasil keputusan. Masih ada titik perbedaan dibandingkan dengan cakupan cabang dengan cara yang setiap hasil keputusan diuji independen satu sama lain. Ini melibatkan membalik keputusan yang dieksekusi tepat sebelum itu, sementara membiarkan sisa cabang yang dieksekusi tetap utuh. Karena cakupan jalur dasar menangani semua pernyataan serta cabang di seluruh metode, ini merupakan pengganti efektif cakupan cabang serta cakupan pernyataan. Ini adalah alasan cakupan jalur basis yang dilihat jauh lebih kuat dibandingkan dengan cakupan cabang.

Cara Membuat Data untuk Pengujian:

Dalam contoh sederhana mungkin mudah untuk mencapai cakupan jalur basis penuh, sedangkan dalam skenario dunia nyata pengujian penuh terhadap jalur dasar menjadi sangat menantang, bahkan mungkin tidak mungkin. Salah satu alasannya adalah, perlunya memiliki data uji, yang harus dapat melaksanakan jalur tertentu dengan menguji interaksi antara berbagai keputusan di suatu metode. Ini bukan proses sederhana untuk memperkenalkan beberapa data yang selanjutnya dapat mengarah pada pelaksanaan jalur tertentu.

Namun, mengikuti praktik pengkodean terbaik dapat membantu untuk menyederhanakan proses pengujian.

1) Simpan kode sederhana.

2) Cobalah untuk tidak menggunakan metode yang memiliki kompleksitas Cyclomatic lebih dari sepuluh.

3) Tidak memiliki jalur basis lebih banyak.

4) Memiliki jumlah keputusan yang lebih sedikit untuk setiap jalur.

5) Tidak memiliki keputusan duplikasi.

6) Cobalah untuk tidak memiliki ketergantungan data

Kesimpulan:

Pernyataan cakupan serta kriteria cakupan cabang meskipun sederhana untuk pelaksanaan tetapi memiliki kekurangan bahwa beberapa cacat utama cenderung tetap tidak terdeteksi, karena manajer proyek, pengembang, dan penguji yang bertanggung jawab untuk menarik kesimpulan yang tidak menentu dari kesempurnaan, sementara fakta mungkin menjadi sesuatu yang lain.

Padahal cakupan jalur dasar adalah pendekatan yang lebih kasar yang mampu mengidentifikasi cacat semacam itu yang jika tidak bisa diketahui.