Code Kattavuustyökalu: Tilinpäätösten, sivukonttoreiden ja päätösten testaus
⚡ Älykäs yhteenveto
Code kattavuus on valkolaatikkomittaus, joka raportoi, missä määrin lähdekoodia on harjoiteltu testipaketissa, helping tiimit paikantavat testaamattomia lauseita, haaroja, ehtoja ja polkuja, joissa piileviä vikoja saattaa olla.

Mikä on Code Kattavuus?
Code kattavuus on mittari, joka kuvaa ohjelman lähdekoodin testausastetta. Se on yksi testauksen muoto. valkoisen laatikon testaus joka löytää ohjelman alueet, joita testitapaukset eivät ole harjoitelleet. Se auttaa myös luomaan lisää testitapauksia kattavuuden lisäämiseksi ja koodin kattavuuden kvantitatiivisen mitan määrittämiseksi.
Useimmissa tapauksissa koodin kattavuusjärjestelmä kerää tietoa käynnissä olevasta ohjelmasta. Sitten se yhdistää tiedot lähdekooditietoihin luodakseen raportin testipaketin koodin kattavuudesta.
Miksi käyttää Code Kattavuustestaus?
Tässä on joitain tärkeimpiä syitä käyttää koodin peittoa:
- Se auttaa mittaamaan testien toteutuksen tehokkuutta.
- Se tarjoaa kvantitatiivisen mittauksen testauksesta.
- Se määrittää, missä määrin lähdekoodia on testattu.
Code Kattavuusmenetelmät
Seuraavat ovat tärkeimmät koodin peittomenetelmät:
- Lausunnon kattavuus
- Päätöksen kattavuus
- Sivukonttorin kattavuus
- Toggle Kattavuus
- FSM kattavuus
Lausunnon kattavuus
Lausunnon kattavuus on white box -testaustekniikka, jossa kaikki lähdekoodin suoritettavat lauseet suoritetaan ainakin kerran. Sitä käytetään laskemaan lähdekoodissa suoritettujen lauseiden lukumäärä. Lausekattavuuden päätarkoitus on kattaa kaikki mahdolliset polut, rivit ja lauseet lähdekoodissa.
Lausekattavuutta käytetään skenaarioiden johtamiseen testattavan koodin rakenteen perusteella.
Valkolaatikkotestauksessa testaaja keskittyy ohjelmiston toimintaan. Toisin sanoen testaaja keskittyy lähdekoodin sisäiseen toimintaan ohjausvuokaavioiden tai -kaavioiden avulla.
Yleisesti ottaen missä tahansa ohjelmistossa, jos tarkastelet lähdekoodia, siellä on laaja valikoima elementtejä, kuten operaattoreita, funktioita, loogisia merkkejäping, poikkeusten käsittelijät ja niin edelleen. 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, joka kertoo, miten tiliotteen kattavuus lasketaan. Tässä tarkastellaan kahta eri skenaariota tarkistaaksemme tiliotteen kattavuusprosentin kussakin skenaariossa.
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
Keltaisella merkityt lauseet ovat ne, jotka suoritetaan skenaarion mukaisesti. Suoritettujen lauseiden lukumäärä = 5, lausekkeiden kokonaismäärä = 7, joten lausekkeiden kattavuus = 5/7 = 71 %.
Skenaario 2: Jos A = -3, B = -9
Keltaisella merkityt lauseet ovat ne, jotka suoritetaan skenaarion mukaisesti. Suoritettujen lauseiden lukumäärä = 6, lausekkeiden kokonaismäärä = 7, joten lausekkeiden kattavuus = 6/7 = 85 %.
Mutta kaiken kaikkiaan, jos näet, kaikki lauseet kuuluvat molempien skenaarioiden piiriin. Joten voimme päätellä, että lauseiden kokonaiskattavuus on 100 %.
Mitä selvityksen kattavuus kattaa?
- Käyttämättömät lausunnot
- Kuollut Code
- Käyttämättömät oksat
- Puuttuvat lausunnot
Päätöksen kattavuuden testaus
Päätöksen kattavuus on white box -testaustekniikka, joka raportoi jokaisen lähdekoodin totuusarvolausekkeen tosi- tai epätosi-tulokset. Päätöskattavuustestauksen tavoitteena on kattaa ja validoida kaikki saatavilla oleva lähdekoodi tarkistamalla ja varmistamalla, että jokaisen mahdollisen päätöspisteen jokainen haara suoritetaan ainakin kerran.
Tässä kattavuustyypissä lausekkeista voi tulla monimutkaisia, mikä tekee 100 %:n kattavuuden saavuttamisesta haastavaa. Siksi tämän mittarin raportointiin käytetään useita menetelmiä. Nämä menetelmät priorisoivat kriittisimpiä yhdistelmiä. Vaikka se on samanlainen kuin haarautumiskattavuus, se tarjoaa suuremman herkkyyden ohjausvirralle.
Esimerkki päätöksen kattavuudesta
Harkitse seuraavaa koodia:
Demo(int a) { If (a > 5) a = a * 3 Print (a) }
Skenaario 1: a:n arvo on 2. Päätöksen lopputulos on ”Ei”. Jos (a>5) on valittuna, päätöksen kattavuus = 50 %.
Skenaario 2: a:n arvo on 6. Päätöksen lopputulos on ”Kyllä”. Jos (a>5) on valittuna, 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 valkolaatikkotestausmenetelmä, jossa testataan jokainen koodimoduulin (lauseen tai silmukan) tulos. Haarapeitteen tarkoituksena on varmistaa, että jokainen päätösehto jokaisesta haarasta suoritetaan ainakin kerran. Se auttaa mittaamaan riippumattomien koodisegmenttien osia ja löytämään osiot, joilla ei ole haaroja.
Jos tulokset ovat esimerkiksi binäärisiä, sinun on testattava sekä tosi että epätosi tulokset.
Kaava sivuliikkeen kattavuuden laskemiseksi:
Esimerkki sivukonttorin kattavuudesta
Haarautumiskattavuuden oppimiseksi tarkastellaan samaa esimerkkiä kuin aiemmin. Haarautumiskattavuus ottaa huomioon myös ehdottoman haarautumisen.
| Testitapaus | A:n arvo | ulostulo | Päätöksen kattavuus | Sivukonttorin kattavuus |
|---|---|---|---|---|
| 1 | 2 | 2 | 50% | 33% |
| 2 | 6 | 18 | 50% | 67% |
Sivukonttorin kattavuuden edut:
- Voit validoida kaikki koodin haarat.
- Auttaa varmistamaan, ettei mikään haarautuminen johda mihinkään poikkeavuuteen ohjelman toiminnassa.
- Poistaa ongelmat, joita ilmenee lausekkeiden kattavuustestauksen vuoksi.
- Antaa sinun löytää alueita, joita ei ole testattu muilla testausmenetelmillä.
- Antaa sinun löytää kvantitatiivisen mitan koodin kattavuudesta.
- Haarautumiskattavuus jättää huomiotta totuusarvolausekkeiden sisällä olevat haarat.
Kunnon kattavuuden testaus
Kunnon kattavuus, eli lausekekattavuus, on testausmenetelmä, jota käytetään ehtolausekkeen muuttujien tai alialausekkeiden testaamiseen ja arviointiin. Ehtokattavuuden tavoitteena on tarkistaa yksittäiset tulokset kullekin loogiselle ehdolle. Ehtokattavuus tarjoaa paremman herkkyyden ohjausvirralle kuin päätöskattavuus. Tässä kattavuudessa tarkastellaan vain lausekkeita, joissa on loogisia operandeja.
Esimerkiksi jos lausekkeella on totuusarvooperaatioita, kuten JA, TAI tai XTAI, se ilmaisee kaikkien mahdollisuuksien määrän. Ehtokattavuus ei takaa täydellistä päätöskattavuutta.
Kaava kunnon kattavuuden laskemiseksi:
Kahden operandin lausekkeelle on neljä mahdollista yhdistelmää: TT, FF, TF ja FT. Tarkastellaan syötettä X=3, Y=4 (x b) EPÄTOSI, jolloin ehtokattavuus on 1/4 = 25 %.
Rajallisen tilan koneen kattavuus
Äärellisen tilakoneen peitto on ehdottomasti monimutkaisin koodin peittomenetelmä. Tämä johtuu siitä, että se toimii suunnittelun käyttäytymisen perusteella. Tässä peittomenetelmässä on tarkasteltava, kuinka monta kertaa tietyissä tiloissa käydään tai niiden läpi siirrytään. Se tarkistaa myös, kuinka monta sekvenssiä äärelliseen tilakoneeseen sisältyy.
Minkä tyyppinen Code Valittava kattavuus
Tämä on ehdottomasti vaikein vastaus antaa. Valitakseen kattavuusmenetelmän testaajan on tarkistettava, onko:
- testattavassa koodissa on yksi tai useampia löytämättömiä vikoja,
- mahdollisen sakon kustannukset,
- menetettyjen maineiden hinta,
- menetettyjen myyntien kustannukset ja niin edelleen.
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 |
|---|---|
| Kertoo, kuinka hyvin lähdekoodia on testattu testipenkissä. | Mittaa, kuinka hyvin testipenkki on kattanut suunnittelun toiminnallisuuden. |
| Ei koskaan käytä suunnitteluspesifikaatiota. | Käyttää suunnitteluspesifikaatiota. |
| Kehittäjien tekemä. | Testaajien tekemä. |
Code Kattavuustyökalut
Tässä on luettelo tärkeistä koodin kattavuustyökaluista:
| Työkalun nimi | Tuotetiedot |
|---|---|
| Cobertura | Avoimen lähdekoodin koodin kattavuustyökalu. Se mittaa testien kattavuutta instrumentoimalla koodikantaa ja analysoimalla, mitkä koodirivit suoritetaan ja mitkä eivät testisarjan suorituksen aikana. |
| Apila | Apila (OpenClover) lyhentää myös testausaikaa suorittamalla vain testit, jotka kattavat edellisen koontiversion jälkeen muokatun sovelluskoodin. |
| Kehittäjäkumppani | DevPartnerin avulla kehittäjät voivat analysoida Java koodin laadun ja monimutkaisuuden kannalta. |
| Emma | EMMA tukee luokka-, metodi-, rivi- ja peruslohkokattavuutta, jotka on koottu lähdetiedosto-, luokka- ja metoditasoilla. |
| Kalistick | Kalistick on kolmannen osapuolen sovellus, joka analysoi koodia eri näkökulmista. |
| CoView ja CoAnt | Koodin kattavuustyökalu mittareille, malliobjektien luonnille, koodin testattavuudelle, polkujen ja haarojen kattavuudelle ja muulle. |
| Bullseye for C++ | BullseyeCoverage on koodin kattavuustyökalu C++ ja C. |
| Sonar | Sonar on avoimen koodin kattavuustyökalu, joka auttaa hallitsemaan koodin laatua. |
Käytön edut ja haitat Code Kattavuus
| edut | Haitat |
|---|---|
| Hyödyllinen koodin kattavuuden kvantitatiivisen mittauksen arvioinnissa. | Vaikka tiettyä ominaisuutta ei olisi toteutettu suunnittelussa, koodin kattavuus raportoi silti 100 %:n kattavuuden. |
| Voit luoda ylimääräisiä testitapauksia kattavuuden parantamiseksi. | Koodikattavuuden avulla ei ole mahdollista määrittää, testattiinko ominaisuuden kaikkia mahdollisia arvoja. |
| Antaa sinun löytää ohjelman alueet, joita ei ole testattu joukolla testitapauksia. | Code Kattavuus ei kerro, kuinka paljon ja kuinka hyvin olet kattanut logiikkasi. |






