Kodeksa pārklājuma apmācība: filiāle, paziņojums, lēmums, MFV

Satura rādītājs:

Anonim

Kas ir koda pārklājums?

Kodu pārklājums ir pasākums, kas raksturo programmas avota koda pārbaudes pakāpi. Tas ir viens no baltās kastes testēšanas veidiem, kas atrod programmas apgabalus, kurus neizmanto testa gadījumu kopums. Tas arī rada dažus testa gadījumus, lai palielinātu pārklājumu un noteiktu koda pārklājuma kvantitatīvo mēru.

Vairumā gadījumu koda pārklājuma sistēma apkopo informāciju par darbojošos programmu. Tas arī apvieno to ar informāciju par pirmkodu, lai izveidotu pārskatu par testa komplekta koda pārklājumu.

Šajā apmācībā jūs uzzināsiet

  • Kas ir koda pārklājums?
  • Kāpēc izmantot koda pārklājumu?
  • Kodu pārklājuma metodes
  • Paziņojuma pārklājums
  • Lēmuma aptvērums
  • Filiāles pārklājums
  • Stāvokļa pārklājums
  • Ierobežota stāvokļa mašīnu pārklājums
  • Kāda veida koda pārklājumu izvēlēties
  • Kodu pārklājums pret funkcionālo pārklājumu
  • Kodu pārklājuma rīki
  • Kodu pārklājuma izmantošanas priekšrocības un trūkumi

Kāpēc izmantot koda pārklājumu?

Šeit ir daži galvenie koda pārklājuma izmantošanas iemesli:

  • Tas palīdz jums izmērīt testa ieviešanas efektivitāti
  • Tas piedāvā kvantitatīvu mērījumu.
  • Tas nosaka avota koda pārbaudes pakāpi.

Kodu pārklājuma metodes

Tālāk ir norādītas galvenās kodu pārklājuma metodes

  • Paziņojuma pārklājums
  • Lēmuma aptvērums
  • Filiāles pārklājums
  • Pārslēgt pārklājumu
  • MFV pārklājums

Paziņojuma pārklājums

Izraksta pārklājums ir balta lodziņa testēšanas paņēmiens, kurā visi izpildāmie priekšraksta avota kodā tiek izpildīti vismaz vienu reizi. To izmanto izpildīto avota kodu priekšrakstu skaita aprēķināšanai. Pārskatu pārklājuma galvenais mērķis ir aptvert visus iespējamos avota koda ceļus, rindas un paziņojumus.

Izraksta pārklājums tiek izmantots scenārija atvasināšanai, pamatojoties uz testējamā koda struktūru.

Programmā White Box Testing testeris koncentrējas uz programmatūras darbību. Citiem vārdiem sakot, testeris koncentrēsies uz avota koda iekšēju darbību attiecībā uz vadības plūsmas grafikiem vai plūsmas diagrammām.

Parasti jebkurā programmatūrā, ja mēs skatāmies uz pirmkodu, būs daudz dažādu elementu, piemēram, operatori, funkcijas, cilpa, ārkārtas apstrādātāji utt. Pamatojoties uz programmas ievadi, daži koda paziņojumi var netikt izpildīti . Izraksta pārklājuma mērķis ir aptvert visus iespējamos ceļa, rindas un priekšraksta kodus.

Sapratīsim to ar piemēru, kā aprēķināt pārskatu pārklājumu.

Scenārijs, lai aprēķinātu paziņojuma segumu dotajam pirmkodam. Šeit mēs izmantojam divus dažādus scenārijus, lai pārbaudītu pārskatu pārklājuma procentuālo daudzumu katram scenārijam.

Avota kods:

Izdrukas (int a, int b) {------------ Printsum ir funkcijaint rezultāts = a + b;Ja (rezultāts> 0)Drukāt ("Pozitīvs", rezultāts)CitsDrukāt ("Negatīvs", rezultāts)} ----------- Avota koda beigas

1. scenārijs:

Ja A = 3, B = 9

Dzeltenā krāsā atzīmētie paziņojumi tiek izpildīti atbilstoši scenārijam

Izpildīto izrakstu skaits = 5, Kopējais izrakstu skaits = 7

Pārskata pārklājums: 5/7 = 71%

Tāpat mēs redzēsim 2. scenāriju,

2. scenārijs:

Ja A = -3, B = -9

Dzeltenā krāsā atzīmētie paziņojumi tiek izpildīti atbilstoši scenārijam.

Izpildīto pārskatu skaits = 6

Kopējais paziņojumu skaits = 7

Pārskata pārklājums: 6/7 = 85%

Bet kopumā, ja jūs redzat, visi paziņojumi tiek ietvertas 2 nd scenārijs ir uzskatāma. Tātad mēs varam secināt, ka kopējais pārskatu segums ir 100%.

Uz ko attiecas paziņojumu pārklājums?

  1. Neizmantoti paziņojumi
  2. Miris kods
  3. Neizmantotās filiāles
  4. Trūkst paziņojumu

Lēmuma aptvērums

Lēmuma pārklājums ir balta lodziņa testēšanas paņēmiens, kas ziņo par katra avota koda Būla izteiksmes patiesajiem vai nepatiesajiem rezultātiem. Lēmumu pārklājuma pārbaudes mērķis ir aptvert un apstiprināt visu pieejamo pirmkodu, pārbaudot un nodrošinot, ka katra iespējamā lēmuma punkta katra filiāle tiek izpildīta vismaz vienu reizi.

Šajā aptvērumā izteicieni dažreiz var kļūt sarežģīti. Tāpēc ir ļoti grūti panākt 100% pārklājumu. Tāpēc ir daudz dažādu metožu ziņošanas metožu. Visas šīs metodes koncentrējas uz vissvarīgāko kombināciju atspoguļošanu. Tas ir ļoti līdzīgs lēmuma aptvērumam, taču piedāvā lielāku jutību pret plūsmas kontroli.

Lēmuma aptvēruma piemērs

Apsveriet šo kodu

Demonstrācija (int a) {Ja (a> 5)a = a * 3Drukāt (a)}

1. scenārijs:

A vērtība ir 2

Kods, kas iezīmēts dzeltenā krāsā, tiks izpildīts. Šeit tiek pārbaudīts lēmuma iznākums "nē", ja (a> 5).

Lēmuma segums = 50%

2. scenārijs:

A vērtība ir 6

Kods, kas iezīmēts dzeltenā krāsā, tiks izpildīts. Šeit tiek pārbaudīts lēmuma rezultāts “Jā”, ja (a> 5).

Lēmuma segums = 50%

Pārbaudes gadījums A vērtība Rezultāts Lēmuma aptvērums
1 2 2 50%
2 6 18 50%

Filiāles pārklājums

Filiāles pārklājums ir balta lodziņa pārbaudes metode, kurā tiek pārbaudīti visi koda moduļa (paziņojuma vai cilpas) rezultāti. Filiāles pārklājuma mērķis ir nodrošināt, lai katrs lēmuma nosacījums no katras filiāles tiktu izpildīts vismaz vienu reizi. Tas palīdz izmērīt neatkarīgu kodu segmentu daļas un uzzināt sadaļas, kurām nav zaru.

Piemēram, ja rezultāti ir bināri, jums jāpārbauda gan patiesie, gan nepatiesie rezultāti.

Filiāles seguma aprēķināšanas formula:

Filiāles pārklājuma piemērs

Lai uzzinātu filiāles pārklājumu, ņemsim vērā to pašu piemēru, kas tika izmantots iepriekš

Apsveriet šādu kodu

Demonstrācija (int a) {Ja (a> 5)a = a * 3Drukāt (a)}

Filiāles pārklājumā tiks ņemta vērā arī beznosacījumu filiāle

Pārbaudes gadījums A vērtība Rezultāts Lēmuma aptvērums Filiāles pārklājums
1 2 2 50% 33%
2 6 18 50% 67%

Filiāles pārklājuma priekšrocības:

Nozares pārklājuma testēšana piedāvā šādas priekšrocības:

  • Ļauj apstiprināt visas koda filiāles
  • Palīdz jums pārliecināties, ka neviens sazarots noved pie programmas darbības novirzēm
  • Filiāles pārklājuma metode novērš problēmas, kas rodas pārskatu pārklājuma pārbaudes dēļ
  • Ļauj atrast tās zonas, kuras nav pārbaudītas ar citām testēšanas metodēm
  • Tas ļauj jums atrast kvantitatīvu koda pārklājuma mērījumu
  • Filiāles pārklājums ignorē zarus Būla izteicienu iekšpusē

Stāvokļa pārklājums

Nosacījuma pārklājums vai izteiksmes pārklājums ir testēšanas metode, ko izmanto, lai pārbaudītu un novērtētu nosacījuma paziņojuma mainīgos vai apakšizteiksmes. Nosacījuma seguma mērķis ir pārbaudīt katra loģiskā stāvokļa individuālos rezultātus. Nosacījuma pārklājums piedāvā labāku jutību pret vadības plūsmu nekā lēmuma aptvērums. Šajā aptvērumā tiek ņemtas vērā tikai izteiksmes ar loģiskiem operandiem.

Piemēram, ja izteiksmei ir Būla darbības, piemēram, AND, OR, XOR, kas norāda kopējās iespējas.

Nosacījumu segums nedod garantiju par pilnīgu lēmumu aptvērumu.

Formula nosacījuma seguma aprēķināšanai:

Piemērs:

Attiecībā uz iepriekš minēto izteicienu mums ir 4 iespējamās kombinācijas

  • TT
  • FF
  • TF
  • FT

Apsveriet šādu ievadi

X = 3

Y = 4

(x

PATIESA

Nosacījuma segums ir ¼ = 25%

A = 3

B = 4

(a> b)

FALSE

Ierobežota stāvokļa mašīnu pārklājums

Ierobežota stāvokļa mašīnas pārklājums noteikti ir vissarežģītākais koda pārklājuma metodes veids. Tas ir tāpēc, ka tas darbojas pēc dizaina uzvedības. Šajā pārklājuma metodē jums jāmeklē, cik laika stāvokļu tiek apmeklēts, šķērsots. Tas arī pārbauda, ​​cik sekvences ir iekļautas ierobežotā stāvokļa mašīnā.

Kāda veida koda pārklājumu izvēlēties

Tā noteikti ir visgrūtāk sniegt atbildi. Lai izvēlētos pārklājuma metodi, testētājam jāpārbauda, ​​vai

  • pārbaudāmajam kodam ir vieni vai vairāki neatklāti defekti
  • potenciālā soda izmaksas
  • zaudētās reputācijas izmaksas
  • zaudētās pārdošanas izmaksas utt.

Jo lielāka varbūtība, ka defekti radīs dārgas ražošanas kļūmes, jo smagāks pārklājuma līmenis jums jāizvēlas.

Kodu pārklājums pret funkcionālo pārklājumu

Kodu pārklājums Funkcionālais pārklājums
Kodu pārklājums norāda, cik labi pirmkods ir izmantots testa stendā. Funkcionālais pārklājums mēra, cik labi dizaina funkcionalitāti ir aptvēris jūsu testa stends.
Nekad neizmantojiet projekta specifikāciju Izmantojiet dizaina specifikāciju
Izstrādātāji Izpildīja testētāji

Kodu pārklājuma rīki

Šeit ir saraksts ar svarīgiem koda pārklājuma rīkiem:

Rīka nosaukums Apraksts
Kobertura Tas ir atvērtā koda pārklājuma rīks. Tas mēra testa pārklājumu, instrumentējot kodu bāzi un analizējot, kuras koda rindas izpilda un kuras netiek izpildītas, kad darbojas testa komplekts.
Āboliņš Āboliņš arī samazina testa laiku, veicot tikai tos testus, kas aptver lietojumprogrammas kodu, kas tika mainīts kopš iepriekšējās būvēšanas.
DevPartner DevPartner ļauj izstrādātājiem analizēt Java kodu koda kvalitātei un sarežģītībai.
Emma EMMA atbalsta klases, metodes, līnijas un bāzes bloku pārklājumu, apkopoto avota failu, klases un metožu līmeņus.
Kalistick Kalistick ir trešās puses lietojumprogramma, kas analizē kodus no dažādām perspektīvām.
CoView un CoAnt Kodēšanas programmatūra ir koda pārklājuma rīks metrikai, izspēles objektu izveidei, koda pārbaudāmībai, ceļa un filiāles pārklājumam utt.
Bullseye C ++ BulseyeCoverage ir C ++ un C koda pārklājuma rīks.
Sonārs Sonārs ir atvērts koda pārklājuma rīks, kas palīdz pārvaldīt koda kvalitāti.

Kodu pārklājuma izmantošanas priekšrocības

  • Noderīgi novērtēt koda pārklājuma kvantitatīvo mērījumu
  • Tas ļauj jums izveidot papildu pārbaudes gadījumus, lai palielinātu pārklājumu
  • Tas ļauj jums atrast programmas apgabalus, kurus neizmanto testa gadījumu kopums

Kodu pārklājuma izmantošanas trūkumi

  • Pat ja kāda īpaša funkcija dizainā nav ieviesta, koda pārklājums joprojām ir 100% pārklājums.
  • Ar koda pārklājuma palīdzību nav iespējams noteikt, vai mēs pārbaudījām visas iespējamās objekta vērtības
  • Kodu pārklājums arī nenorāda, cik daudz un cik labi jūs esat iekļāvis savu loģiku
  • Ja norādītā funkcija nav ieviesta vai nav iekļauta specifikācijā, uz struktūru balstītās tehnikas nevar atrast šo problēmu.

Kopsavilkums

  • Kodu pārklājums ir pasākums, kas raksturo programmas avota koda pārbaudes pakāpi
  • Tas palīdz jums izmērīt testa ieviešanas efektivitāti
  • Piecas koda pārklājuma metodes ir 1.) Pārskatu pārklājums 2.) Nosacījuma pārklājums 3) Nozares pārklājums 4) Pārslēgšanās pārklājums 5) MFV pārklājums
  • Izraksta pārklājums ietver visu izpildāmo priekšraksta avotu izpildi vismaz vienu reizi
  • Lēmuma aptvērums ziņo par katras Būla izteiksmes patiesajiem vai nepatiesajiem rezultātiem
  • Filiāles pārklājumā tiek pārbaudīti visi koda moduļa rezultāti
  • Nosacījums atklās, kā tiek vērtēti nosacījuma paziņojuma mainīgie vai apakšteiksmes
  • Ierobežota stāvokļa mašīnas pārklājums noteikti ir vissarežģītākais koda pārklājuma metodes veids
  • Lai izvēlētos pārklājuma metodi, testētājam jāpārbauda iespējamā soda, zaudētās reputācijas, zaudētās pārdošanas utt.
  • Kodu pārklājums norāda, cik labi pirmkods ir izmantots testa stendā, savukārt Funkcionālais pārklājums nosaka, cik labi ir nodrošināta dizaina funkcionalitāte
  • Kobertura, JTest, Clover, Emma, ​​Kalistick ir daži svarīgi koda pārklājuma rīki
  • Kodu pārklājums ļauj izveidot papildu pārbaudes gadījumus, lai palielinātu pārklājumu
  • Kodu pārklājums nepalīdz noteikt, vai mēs pārbaudījām visas iespējamās objekta vērtības