Mccabe tsüklomaatiline keerukus: arvutage vooskeemiga (näide)

Lang L: none (table-of-contents):

Anonim

Tsüklomaatilise keerukuse mõistmiseks saate kõigepealt mõista -

Mis on tarkvaramõõdik?

Mõõtmine pole midagi muud kui toote / protsessi atribuudi suuruse / mõõtme / võimsuse kvantitatiivne näitamine. Tarkvara mõõdikut defineeritakse kui atribuudi kvantitatiivset mõõdet, mis tarkvarasüsteemil on kulude, kvaliteedi, suuruse ja ajakava suhtes.

Näide

Meede - vigade arvMõõdikud - leitud vigade arv inimese kohta

Selles õpetuses saate teada

  • Mis on tarkvaramõõdik?
  • Mis on tsüklomaatiline komplekssus?
  • Vooggraafiku tähistus programmile:
  • Kuidas arvutada tsüklomaatilist keerukust
  • Tsüklomaatilise keerukuse omadused:
  • Kuidas on see mõõdik tarkvara testimisel kasulik?
  • Lisateave V (G) kohta:
  • Tööriistad tsüklomaatilise keerukuse arvutamiseks:
  • Tsüklomaatilise keerukuse kasutusalad:

Tsüklomaatiline keerukus tarkvara testimisel

Tsüklomaatiline keerukus tarkvara testimisel on testimõõdik, mida kasutatakse tarkvaraprogrammi keerukuse mõõtmiseks. See on tarkvara programmi lähtekoodi sõltumatute teede kvantitatiivne mõõt. Tsüklomaatilist keerukust saab arvutada kontrollvoo graafikute abil või tarkvaraprogrammi funktsioonide, moodulite, meetodite või klasside osas.

Iseseisev rada on määratletud kui rada, millel on vähemalt üks serv, mida pole varem üheski teises rajal läbitud.

Selle mõõdiku töötas välja Thomas J. McCabe 1976. aastal ja see põhineb programmi kontrollvoo kujutamisel. Juhtimisvoog kujutab programmi graafikuna, mis koosneb sõlmedest ja servadest.

Graafikus tähistavad sõlmed töötlemisülesandeid, servad aga juhtimisvoogu sõlmede vahel.

Vooggraafiku tähistus programmile:

Vooggraafiku tähistamine programmis määratleb mitu sõlme, mis on ühendatud servade kaudu. Allpool on toodud selliste diagrammide vooskeemid nagu if-else, While, kuni ja voo normaalne järjestus.

Kuidas arvutada tsüklomaatilist keerukust

Matemaatiline esitus:

Matemaatiliselt on see graafikdiagrammi kaudu määratud sõltumatuteks teedeks. Programmi koodi keerukust saab määratleda valemiga -

V (G) = E - N + 2

Kus

E - servade arv

N - sõlmede arv

V (G) = P + 1

Kus P = predikaatsõlmede arv (sõlm, mis sisaldab tingimust)

Näide -

i = 0;n = 4; // N-graafikul olevate sõlmede arvsamal ajal (i 

Selle programmi vooskeem on

Matemaatiliselt arvutades

  • V (G) = 9-7 + 2 = 4
  • V (G) = 3 + 1 = 4 (seisundisõlmed on 1,2 ja 3 sõlme)
  • Alusekomplekt - programmi võimaliku täitmistee komplekt
  • 1, 7
  • 1, 2, 6, 1, 7
  • 1, 2, 3, 4, 5, 2, 6, 1, 7
  • 1, 2, 3, 5, 2, 6, 1, 7

Tsüklomaatilise keerukuse omadused:

Järgmised on tsüklomaatilise keerukuse omadused:

  1. V (G) on maksimaalne sõltumatute radade arv graafikus
  2. V (G)> = 1
  3. G-l on üks tee, kui V (G) = 1
  4. Minimeerige keerukus 10-ni

Kuidas on see mõõdik tarkvara testimisel kasulik?

Aluse tee testimine on üks valge kasti tehnikatest ja see tagab testimise ajal vähemalt ühe lause täitmise. See kontrollib programmi kaudu iga lineaarselt sõltumatut rada, mis tähendab, et arv testkatseid on samaväärsed programmi tsüklilise keerukusega.

See mõõdik on kasulik tsüklomaatilise keerukuse (M) omaduste tõttu -

  1. M võib olla testjuhtumite arv haru katvuse saavutamiseks (ülemine piir)
  2. M võib olla graafikute kaudu olevate teede arv. (Alampiir)

Vaatleme seda näidet -

Kui (tingimus 1)1. avaldusMuidu2. avaldusKui (tingimus 2)3. avaldusMuidu4. avaldus

Selle programmi tsüklomaatiline keerukus on 8–7 + 2 = 3.

Kuna keerukus on arvutatud 3-ks, on ülaltoodud näite jaoks täieliku rajakatvuse jaoks vaja kolme katsekorda.

Järgitavad sammud:

Tsüklomaatilise keerukuse ja testjuhtumite kujundamise arvutamiseks tuleks järgida järgmisi samme.

1. samm - graafi konstrueerimine koos koodide sõlmede ja servadega

2. samm - iseseisvate radade kindlakstegemine

3. etapp - tsüklomaatilise keerukuse arvutamine

4. samm - katsejuhtumite kujundamine

Kui põhikomplekt on moodustatud, tuleks kõigi teede täitmiseks kirjutada TEST CASES.

Lisateave V (G) kohta:

Tsüklomaatilist keerukust saab käsitsi arvutada, kui programm on väike. Kui programm on väga keeruline, tuleb kasutada automatiseeritud tööriistu, kuna see hõlmab rohkem vooskeeme. Keerukuse arvu põhjal saab meeskond teha järeldusi meetmete kohta, mida tuleb mõõtmiseks teha.

Järgmine tabel annab ülevaate v (G) keerukuse numbri ja vastava tähenduse kohta:

Keerukuse arv Tähendus
1–10 Struktureeritud ja hästi kirjutatud kood Kõrge testitavuse kulu ja vaev on väiksem
10–20 Kompleksne kood Keskmine Testitavus Maksumus ja vaev on keskmised
20–40 Väga keeruline kood Madal testitavuse hind ja pingutus on kõrged
> 40 Pole üldse testitav Väga kõrge hind ja pingutus

Tööriistad tsüklomaatilise keerukuse arvutamiseks:

Rakenduse keerukuse määramiseks on saadaval palju tööriistu. Spetsiifiliste tehnoloogiate jaoks kasutatakse mõnda keerukuse arvutamise tööriista. Keerukuse võib leida otsustuspunktide arvu järgi programmis. Otsustuspunktid on juhul, kui lähtekoodis on for-for-for, while, do-catch-case-case.

Näited tööriistadest on

  • OCLint - staatiline koodianalüsaator C ja sellega seotud keeltele
  • Reflektor. In-Code .NET-komplektide mõõdikud
  • GMetrics - leidke mõõdikud Java-ga seotud rakendustest

Tsüklomaatilise keerukuse kasutusalad:

Tsüklomaatiline keerukus võib osutuda väga kasulikuks aastal

  • Aitab arendajatel ja testijatel määrata sõltumatuid tee hukkamisi
  • Arendajad võivad kinnitada, et kõik teed on vähemalt korra testitud
  • Aitab meil rohkem keskenduda katmata radadele
  • Parandage tarkvaratehnika koodide katvust
  • Hinnake rakenduse või programmiga seotud riske
  • Nende mõõdikute kasutamine tsükli alguses vähendab programmi suuremat riski

Järeldus:

Tsüklomaatiline keerukus on tarkvaraline meetrika, mis on kasulik struktureeritud või valge kasti testimiseks. Seda kasutatakse peamiselt programmi keerukuse hindamiseks. Kui otsustuspunkte on rohkem, siis on programmi keerukus suurem. Kui programmil on kõrge keerukusnumber, on vea tõenäosus suur, kui hoolduse ja tõrkeotsingu aeg suureneb.