Kerumitan Cyclomatic Mccabe: Kira dengan Graf Alir (Contoh)

Isi kandungan:

Anonim

Untuk memahami Kerumitan Cyclomatic, mari kita fahami terlebih dahulu -

Apa itu Metrik Perisian?

Pengukuran tidak lain hanyalah petunjuk kuantitatif ukuran / dimensi / kapasiti atribut produk / proses. Metrik perisian didefinisikan sebagai ukuran kuantitatif atribut yang dimiliki sistem perisian berkenaan dengan Kos, Kualiti, Ukuran dan Jadual.

Contoh-

Langkah - Jumlah KesalahanMetrik - Jumlah Kesalahan yang dijumpai setiap orang

Dalam tutorial ini, anda akan belajar-

  • Apa itu Metrik Perisian?
  • Apakah Kerumitan Siklomatik?
  • Notasi grafik aliran untuk program:
  • Cara Mengira Kerumitan Siklomatik
  • Sifat kerumitan Cyclomatic:
  • Bagaimana metrik ini berguna untuk ujian perisian?
  • Lebih banyak mengenai V (G):
  • Alat untuk pengiraan Kerumitan Siklomatik:
  • Kegunaan Kerumitan Siklomatik:

Kerumitan Siklomatik dalam Ujian Perisian

Kompleksiti Cyclomatic dalam Pengujian Perisian adalah metrik pengujian yang digunakan untuk mengukur kerumitan program perisian. Ini adalah ukuran kuantitatif jalan bebas dalam kod sumber program perisian. Kerumitan siklomatik dapat dihitung dengan menggunakan grafik aliran kawalan atau berkenaan dengan fungsi, modul, kaedah atau kelas dalam program perisian.

Jalan bebas didefinisikan sebagai jalan yang mempunyai sekurang-kurangnya satu tepi yang belum pernah dilalui sebelumnya di jalan lain.

Metrik ini dikembangkan oleh Thomas J. McCabe pada tahun 1976 dan berdasarkan perwakilan aliran kawalan program. Aliran kawalan menggambarkan program sebagai grafik yang terdiri daripada Nod dan Tepi.

Dalam grafik, Node mewakili tugas pemprosesan sementara tepi mewakili aliran kawalan antara nod.

Notasi grafik aliran untuk program:

Notasi Grafik Alir untuk program menentukan beberapa nod yang dihubungkan melalui tepi. Berikut adalah rajah Aliran untuk penyataan seperti if-else, Sementara, hingga dan urutan aliran normal.

Cara Mengira Kerumitan Siklomatik

Perwakilan matematik:

Secara matematik, ia adalah set jalan bebas melalui rajah grafik. Kerumitan Kod program dapat ditentukan dengan menggunakan formula -

V (G) = E - N + 2

Di mana,

E - Bilangan tepi

N - Bilangan Nod

V (G) = P + 1

Di mana P = Bilangan nod predikat (simpul yang mengandungi keadaan)

Contoh -

i = 0;n = 4; // N-Bilangan nod yang terdapat dalam grafiksementara (i 

Graf aliran untuk program ini akan

Mengira secara matematik,

  • V (G) = 9 - 7 + 2 = 4
  • V (G) = 3 + 1 = 4 (Nod keadaan adalah 1,2 dan 3 nod)
  • Set Asas - Set kemungkinan jalan pelaksanaan program
  • 1, 7
  • 1, 2, 6, 1, 7
  • 1, 2, 3, 4, 5, 2, 6, 1, 7
  • 1, 2, 3, 5, 2, 6, 1, 7

Sifat kerumitan Cyclomatic:

Berikut adalah sifat kerumitan Cyclomatic:

  1. V (G) adalah bilangan maksimum jalur bebas dalam grafik
  2. V (G)> = 1
  3. G akan mempunyai satu jalan jika V (G) = 1
  4. Minimumkan kerumitan hingga 10

Bagaimana metrik ini berguna untuk ujian perisian?

Pengujian Path Basis adalah salah satu teknik kotak Putih dan menjamin untuk melaksanakan sekurang-kurangnya satu pernyataan semasa ujian. Ia memeriksa setiap jalan bebas linier melalui program, yang bermaksud kes ujian nombor, akan setara dengan kerumitan siklomatik program.

Metrik ini berguna kerana sifat kerumitan Cyclomatic (M) -

  1. M boleh menjadi bilangan kes ujian untuk mencapai liputan cawangan (Batas Atas)
  2. M dapat bilangan jalan melalui grafik. (Bawah Bawah)

Pertimbangkan contoh ini -

Sekiranya (Keadaan 1)Penyataan 1LainPenyataan 2Sekiranya (Keadaan 2)Penyataan 3LainPenyataan 4

Kerumitan siklomatik untuk program ini adalah 8-7 + 2 = 3.

Oleh kerana kerumitan telah dikira sebagai 3, tiga kes ujian diperlukan untuk liputan jalan lengkap untuk contoh di atas.

Langkah yang harus diikuti:

Langkah-langkah berikut harus diikuti untuk menghitung reka bentuk kerumitan dan ujian kes Cyclomatic.

Langkah 1 - Pembinaan grafik dengan nod dan tepi dari kod

Langkah 2 - Pengenalpastian jalan bebas

Langkah 3 - Pengiraan Kerumitan Siklomatik

Langkah 4 - Reka Bentuk Kes Ujian

Setelah set asas dibentuk, KES UJIAN harus ditulis untuk melaksanakan semua jalan.

Lebih banyak mengenai V (G):

Kerumitan siklomatik dapat dikira secara manual jika programnya kecil. Alat automatik perlu digunakan jika program ini sangat kompleks kerana ini melibatkan lebih banyak grafik aliran. Berdasarkan bilangan kerumitan, pasukan dapat membuat kesimpulan mengenai tindakan yang perlu diambil untuk mengukur.

Jadual berikut memberikan gambaran keseluruhan mengenai bilangan kerumitan dan makna yang sesuai dari v (G):

Nombor Kerumitan Makna
1-10 Kod berstruktur dan ditulis dengan baik Kos dan Usaha Kebolehpercayaan Tinggi kurang
10-20 Kebolehpercayaan Medium Kod Kompleks Kos dan usaha sederhana
20-40 Kos dan Usaha Kebolehpercayaan Rendah Kod yang sangat kompleks tinggi
> 40 Sama sekali tidak boleh diuji Kos dan Usaha yang sangat tinggi

Alat untuk pengiraan Kerumitan Siklomatik:

Banyak alat yang tersedia untuk menentukan kerumitan aplikasi. Beberapa alat pengiraan kerumitan digunakan untuk teknologi tertentu. Kerumitan dapat dijumpai dengan jumlah titik keputusan dalam program. Titik keputusan adalah jika, untuk, untuk masing-masing, sementara, lakukan, tangkap, pernyataan kes dalam kod sumber.

Contoh alat adalah

  • OCLint - Penganalisis kod statik untuk C dan Bahasa Berkaitan
  • Reflector Add In - Kod metrik untuk perhimpunan .NET
  • GMetrik - Cari metrik dalam aplikasi yang berkaitan dengan Java

Kegunaan Kerumitan Siklomatik:

Kerumitan Siklomatik dapat terbukti sangat membantu

  • Membantu pembangun dan penguji untuk menentukan pelaksanaan jalan bebas
  • Pembangun dapat memastikan bahawa semua jalan telah diuji sekurang-kurangnya sekali
  • Membantu kita untuk lebih fokus pada jalan yang belum ditemui
  • Tingkatkan liputan kod dalam Kejuruteraan Perisian
  • Nilaikan risiko yang berkaitan dengan aplikasi atau program
  • Menggunakan metrik ini pada awal kitaran akan mengurangkan lebih banyak risiko program

Kesimpulan:

Kompleksiti Cyclomatic adalah metrik perisian yang berguna untuk Ujian Kotak Berstruktur atau Putih. Ia digunakan terutamanya untuk menilai kerumitan program. Sekiranya titik keputusan lebih banyak, maka kerumitan program lebih banyak. Sekiranya program mempunyai bilangan kerumitan yang tinggi, maka kemungkinan kesalahan adalah tinggi dengan peningkatan masa untuk penyelenggaraan dan pemecahan masalah.