Code Kattavuusopas: Haara-, lause- ja päätöstestaus

Mikä on Code kattavuus?

Code Kattavuus on mittari, joka kuvaa ohjelman lähdekoodin testausastetta. Se on yksi valkolaatikkotestauksen muoto, joka löytää ohjelman alueet, joita testitapaukset eivät ole testanneet. Se luo myös testitapauksia kattavuuden lisäämiseksi ja koodin kattavuuden kvantitatiivisen mittauksen määrittämiseksi.

Useimmissa tapauksissa koodipeittojärjestelmä kerää tietoa käynnissä olevasta ohjelmasta. Se myös yhdistää sen lähdekooditietoihin ja luo raportin testipaketin koodin kattavuudesta.

Miksi käyttää Code Kattavuustestaus?

Tässä on joitain tärkeimpiä syitä käyttää koodin peittoa:

  • Se auttaa sinua mittaamaan testin toteutuksen tehokkuutta
  • Se tarjoaa kvantitatiivisen mittauksen.
  • Se määrittää, missä määrin lähdekoodia on testattu.

Code Kattavuusmenetelmät

Seuraavassa on tärkeimmät koodin peittomenetelmät

  • Lausunnon kattavuus
  • Päätöksen kattavuus
  • Sivukonttorin kattavuus
  • Toggle Kattavuus
  • FSM kattavuus

Lausunnon kattavuus

Lausunnon kattavuus on valkoisen laatikon testaustekniikka, jossa kaikki lähdekoodin suoritettavat käskyt suoritetaan vähintään kerran. Sitä käytetään suoritettujen lähdekoodin lauseiden lukumäärän laskemiseen. Statement Coveragen päätarkoitus on kattaa kaikki mahdolliset polut, rivit ja lauseet lähdekoodissa.

Lausunnon kattavuutta käytetään skenaarion johtamiseen testattavan koodin rakenteen perusteella.

Lausunnon kattavuus

In Valkoinen Box Testaus, testaaja keskittyy ohjelmiston toimintaan. Toisin sanoen testaaja keskittyy lähdekoodin sisäiseen toimintaan koskien ohjausvuokaavioita tai vuokaavioita.

Yleisesti ottaen missä tahansa ohjelmistossa, jos tarkastelemme lähdekoodia, on olemassa laaja valikoima elementtejä, kuten operaattoreita, funktioita, loo-merkkejäping, poikkeukselliset käsittelijät jne. Ohjelmaan syötetystä datasta riippuen jotkin koodilausekkeet eivät välttämättä suoriteta. Lauseiden kattavuuden tavoitteena on kattaa kaikki mahdolliset polut, rivit ja lauseet koodissa.

Ymmärretään tämä esimerkin avulla, kuinka lasketaan lausunnon kattavuus.

Skenaario lausunnon kattavuuden laskemiseksi tietylle lähdekoodille. Tässä on kaksi erilaista skenaariota tarkistaaksemme kunkin skenaarion lausuman kattavuuden prosenttiosuuden.

Lähde Code:

Prints (int a, int b) {                       ------------  Printsum is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code 

Skenaario 1:

Jos A = 3, B = 9

Lausunnon kattavuus

Keltaisella värillä merkityt lausunnot ovat ne, jotka suoritetaan skenaarion mukaisesti

Toteutettujen lauseiden määrä = 5, lausekkeiden kokonaismäärä = 7

Lausunnon kattavuus: 5/7 = 71 %

Lausunnon kattavuus

Samoin näemme skenaarion 2,

Skenaario 2:

Jos A = -3, B = -9

Lausunnon kattavuus

Keltaisella värillä merkityt lausunnot ovat ne, jotka suoritetaan skenaarion mukaisesti.

Toteutettujen lauseiden määrä = 6

Lausuntojen kokonaismäärä = 7

Lausunnon kattavuus

Lausunnon kattavuus: 6/7 = 85 %

Lausunnon kattavuus

Mutta kaiken kaikkiaan, jos näet, molemmat skenaariot kattavat kaikki lausunnot. Joten voimme päätellä, että lausunnon kokonaiskattavuus on 100%.

Lausunnon kattavuus

Mitä selvityksen kattavuus kattaa?

  1. Käyttämättömät lausunnot
  2. Kuollut Code
  3. Käyttämättömät oksat
  4. Puuttuvat lausunnot

Päätöksen kattavuuden testaus

Päätöksen kattavuus on valkoisen laatikon testaustekniikka, joka raportoi lähdekoodin jokaisen loogisen lausekkeen oikeat tai väärät tulokset. Päätöksen kattavuuden testauksen tavoitteena on kattaa ja validoida kaikki saatavilla oleva lähdekoodi tarkistamalla ja varmistamalla, että jokaisen mahdollisen päätöspisteen jokainen haara suoritetaan vähintään kerran.

Tässä kattavuustyypissä lausekkeet voivat olla monimutkaisia, mikä tekee 100 %:n kattavuuden saavuttamisesta haastavaa. Tästä syystä tämän mittarin raportoinnissa käytetään erilaisia ​​menetelmiä. Nämä menetelmät priorisoivat kriittisimmät yhdistelmät. Vaikka se on samanlainen kuin päätöksen kattavuus, se tarjoaa suuremman herkkyyden ohjata virtausta.

Päätöksen kattavuuden testaus

Esimerkki päätöksen kattamisesta

Harkitse seuraavaa koodia -

Demo(int a) {                       
     If (a> 5)
    	a=a*3
     Print (a)
    }

Skenaario 1:

A: n arvo on 2

Päätöksen kattavuuden testaus

Keltaisella korostettu koodi suoritetaan. Tässä on valittuna päätöksen "Ei" tulos Jos (a>5).

Päätöksen kattavuus = 50 %

Skenaario 2:

A: n arvo on 6

Päätöksen kattavuuden testaus

Keltaisella korostettu koodi suoritetaan. Tässä on valittu ”Kyllä”-päätöksen tulos Jos (a>5).

Päätöksen kattavuus = 50 %

Testitapaus A:n arvo ulostulo Päätöksen kattavuus
1 2 2 50%
2 6 18 50%

Toimialan kattavuuden testaus

Sivukonttorin kattavuus on valkoisen laatikon testausmenetelmä, jossa jokainen koodimoduulin (lauseen tai silmukan) tulos testataan. Sivukonttorin kattavuuden tarkoituksena on varmistaa, että jokainen päätösehto jokaisesta haarasta suoritetaan vähintään kerran. Se auttaa mittaamaan itsenäisten koodisegmenttien murto-osia ja löytämään osia, joissa ei ole haaroja.

Jos tulokset ovat esimerkiksi binäärisiä, sinun on testattava sekä tosi että epätosi tulokset.

Kaava sivuliikkeen kattavuuden laskemiseksi:

Toimialan kattavuuden testaus

Esimerkki sivukonttorin kattavuudesta

Oppiaksesi haaran kattavuuden, tarkastellaan samaa aiemmin käytettyä esimerkkiä

Harkitse seuraavaa koodia -

Demo(int a) {                       
     If (a> 5)
    	a=a*3
     Print (a)
    }                                       

Toimialan kattavuuden testaus

Sivukonttorin kattavuus huomioi myös ehdottoman sivuliikkeen

Testitapaus A:n arvo ulostulo Päätöksen kattavuus Sivukonttorin kattavuus
1 2 2 50% 33%
2 6 18 50% 67%

Sivukonttorin kattavuuden edut:

Toimialan kattavuuden testaus tarjoaa seuraavat edut:

  • Voit vahvistaa kaikki koodin haarat
  • Auttaa varmistamaan, että haaroittuminen ei aiheuta ohjelman toiminnan poikkeavuuksia
  • Haarojen kattavuusmenetelmä poistaa ongelmat, jotka johtuvat lausunnon kattavuuden testauksesta
  • Voit etsiä alueita, joita ei ole testattu muilla testausmenetelmillä
  • Sen avulla voit löytää koodin kattavuuden kvantitatiivisen mittarin
  • Haarojen kattavuus jättää huomioimatta Boolen lausekkeiden sisällä olevat haarat

Kunnon kattavuuden testaus

Kunnon kattavuus tai lausekkeen kattavuus on testausmenetelmä, jota käytetään ehtolausekkeen muuttujien tai alilausekkeiden testaamiseen ja arvioimiseen. Ehtojen kattavuuden tavoitteena on tarkistaa kunkin loogisen ehdon yksittäiset tulokset. Ehtojen kattavuus tarjoaa paremman herkkyyden ohjausvirtaukselle kuin päätöksen kattavuus. Tässä kattauksessa huomioidaan vain lausekkeet, joissa on loogisia operandeja.

Esimerkiksi, jos lausekkeessa on Boolen operaatioita, kuten AND, OR, XOR, mikä osoittaa kokonaismahdollisuudet.

Ehtojen kattavuus ei takaa täydellistä päätöskattavuutta.

Kaava kunnon kattavuuden laskemiseksi:

Kunnon kattavuuden testaus

Esimerkiksi:

Kunnon kattavuuden testaus

Yllä olevalle lausekkeelle meillä on 4 mahdollista yhdistelmää

  • TT
  • FF
  • TF
  • FT

Harkitse seuraavaa syötettä

X = 3

Y = 4

(x TOSI Ehtojen kattavuus on ¼ = 25 %
A = 3

B = 4

(a>b) VÄÄRÄ

Rajallisen tilan koneen kattavuus

Äärillisen tilan konepeitto on varmasti monimutkaisin koodipeittomenetelmä. Tämä johtuu siitä, että se vaikuttaa suunnittelun käyttäytymiseen. Tässä kattavuusmenetelmässä sinun on etsittävä, kuinka monessa aikakohtaisessa tilassa vieraillaan, siirretään. Se myös tarkistaa, kuinka monta sekvenssiä äärellistilakoneeseen sisältyy.

Minkä tyyppinen Code Valittava kattavuus

Tämä on varmasti vaikein vastaus antaa. Peittotavan valitsemiseksi testaajan on tarkistettava, että

  • testattavassa koodissa on yksi tai useampi havaitsematon virhe
  • mahdollisen rangaistuksen kustannukset
  • menetetty maine
  • menetetyn myynnin kustannukset jne.

Mitä suurempi on todennäköisyys, että viat aiheuttavat kalliita tuotantohäiriöitä, sitä vakavampi kattavuustaso sinun on valittava.

Code Kattavuus vs. toiminnallinen kattavuus

Code Kattavuus Toiminnallinen kattavuus
Code Kattavuus kertoo, kuinka hyvin lähdekoodia on testattu testipenkissä. Toiminnallinen kattavuus mittaa, kuinka hyvin testipenkkisi on kattanut suunnittelun toiminnallisuuden.
Älä koskaan käytä suunnittelutietoja Käytä suunnitteluohjeita
Kehittäjien tekemä Testaajien tekemä

Code Kattavuustyökalut

Tässä on luettelo tärkeistä koodipeittotyökaluista:

Työkalun nimi Tuotetiedot
Cobertura Se on avoimen lähdekoodin peittotyökalu. Se mittaa testin kattavuuden instrumentoimalla koodipohjaa ja analysoimalla, mitkä koodirivit suoritetaan ja mitkä eivät suoriteta, kun testisarja suoritetaan.
Apila Clover myös vähentää testausaikaa suorittamalla vain testit, jotka kattavat edellisen koontiversion jälkeen muokatun sovelluskoodin.
Kehittäjäkumppani DevPartnerin avulla kehittäjät voivat analysoida Java koodi Code Laatu ja monimutkaisuus.
Emma EMMA tukee luokka-, menetelmä-, rivi- ja peruslohkokattavuutta, koottua lähdetiedostoa, luokka- ja menetelmätasoja.
Kalistick Kalistick on kolmannen osapuolen sovellus, joka analysoi koodeja eri näkökulmista.
CoView ja CoAnt Koodausohjelmisto on koodin peittotyökalu mittareita, valeobjektien luomista, koodin testaamista, polun ja haaran kattavuutta jne.
Bullseye for C++ BulseyeCoverage on koodipeittotyökalu C++ ja C.
Sonar Sonar on avoimen koodin peittotyökalu, jonka avulla voit hallita koodin laatua.

Käytön edut ja haitat Code Kattavuus

Code Kattavuusedut Code Kattavuus Haitat
Auttaa arvioimaan koodin kattavuuden kvantitatiivista mittaa Vaikka mitä tahansa ominaisuutta ei ole otettu käyttöön suunnittelussa, koodin kattavuus ilmoittaa silti 100 %:n kattavuuden.
Sen avulla voit luoda ylimääräisiä testitapauksia kattavuuden lisäämiseksi Ei ole mahdollista määrittää, testasimmeko kaikki mahdolliset ominaisuuden arvot koodipeiton avulla
Sen avulla voit löytää ohjelman alueet, joita testitapaukset eivät harjoita Code Kattavuus ei myöskään kerro, kuinka paljon ja kuinka hyvin olet käsitellyt logiikkaasi
Siinä tapauksessa, että määritettyä toimintoa ei ole toteutettu tai se ei sisälly määritykseen, rakennepohjaiset tekniikat eivät löydä tätä ongelmaa.

Yhteenveto

  • Code kattavuus on mittari, joka kuvaa sitä, missä määrin ohjelman lähdekoodia on testattu
  • Se auttaa sinua mittaamaan testin toteutuksen tehokkuutta
  • Viisi Code Kattavuusmenetelmät ovat 1.) Tilinpäätöskattavuus 2.) Ehtokattavuus 3) Konttorikattavuus 4) Toggle Kattavuus 5) Mikronesian kattavuus
  • Lausunnon kattavuus sisältää kaikkien lähdekoodin suoritettavien lauseiden suorittamisen vähintään kerran
  • Päätöksen kattavuus raportoi kunkin Boolen lausekkeen oikeat tai väärät tulokset
  • Haaran kattavuudessa jokainen koodimoduulin tulos testataan
  • Ehdollinen paljastaa, kuinka ehdollisen lauseen muuttujat tai osalausekkeet arvioidaan
  • Äärillisen tilan konepeitto on varmasti monimutkaisin koodipeittomenetelmä
  • Kattavuuden valitsemiseksi testaajan on tarkistettava mahdollisen rangaistuksen kustannukset, menetetty maine, menetetty myynti jne.
  • Code Kattavuus kertoo, kuinka hyvin lähdekoodia on testattu testipenkissä, kun taas toiminnallinen kattavuus mittaa, kuinka hyvin suunnittelun toiminnallisuus on katettu.
  • Cobertura, JTest, Clover, Emma, ​​Kalistick ovat muutamia tärkeitä koodipeittotyökaluja
  • Code Kattavuus mahdollistaa ylimääräisten testitapausten luomisen kattavuuden parantamiseksi
  • Code Kattavuus ei auta sinua määrittämään, testasimmeko ominaisuuden kaikki mahdolliset arvot.

Tiivistä tämä viesti seuraavasti: