Testaa kattavuus

Kysymys: Kuinka hyvin koodi on testattu?

Kuvaus

Testin kattavuus kuvaa, kuinka suuren osan tietystä koodikannasta vähintään yksi testipaketti kattaa. Testin kattavuudella on kaksi pääasiallista mittaa. Yksi on prosenttiosuus aliohjelmat katettu arkistoa vastaan ​​ajetussa testipaketissa. Toinen testin kattavuuden periaateilmaus on prosenttiosuus lausuntoja katettu testisarjan suorittamisen aikana. CHAOSS-mittarin määritelmä "testin kattavuudelle" sisältää molemmat nämä erilliset mittaukset.

Ohjelmointikielet viittaavat aliohjelmat erityisesti "funktioina", "menetelminä", "rutiineina" tai joissakin tapauksissa "aliohjelmina". Tietyn arkiston peittoprosentti on tässä määritelmässä rajoitettu tietyssä tietovarastossa määriteltyihin menetelmiin, eikä se sisällä kirjastojen tai muiden ohjelmistojen kattavuutta, joista arkisto on riippuvainen.

Tavoitteet

Testin kattavuuden tason ymmärtäminen on signaali ohjelmiston laadusta. Koodi, jolla on vähän testikattavuutta, merkitsee vähemmän tiukkaa ohjelmistosuunnittelua ja vastaavasti lisääntynyttä todennäköisyyttä, että viat havaitaan käyttöönoton ja käytön yhteydessä.

Täytäntöönpano

Terveysmittareiden käyttö ja levittäminen voi johtaa yksityisyyden loukkauksiin. Organisaatiot voivat altistua riskeille. Nämä riskit voivat johtua GDPR-asetuksen noudattamisesta EU:ssa, Yhdysvaltain osavaltion lain tai muun lainsäädännön noudattamisesta. Tietojen tarjoajien, kuten GitHubin ja GitLabin, palveluehdoista voi myös aiheutua sopimusriskejä. Mittareiden käyttöä on tutkittava riskien ja mahdollisten dataeettisten ongelmien varalta. Ole hyvä ja katso CHAOSS Data Ethics -asiakirja lisäohjeita varten.

Lausunnot sisältävät muuttujamäärityksiä, silmukkamäärityksiä, kutsuja järjestelmätoimintoihin, "go to" -käskyjä ja yleisiä return lauseke funktion tai menetelmän päätyttyä, joka voi sisältää tai ei voi sisältää a:n palautuksen value or array of values.

Aliohjelman kattavuus

Aliohjelman kattavuus

Lausunnon kattavuus

Lausunnon kattavuus

Suodattimet

  • Aika: Testin kattavuuden muutokset ajan mittaan osoittavat, että projekti on kiinnittänyt huomiota testin kokonaiskattavuuden maksimointiin. Erityiset parametrit sisältävät start date ja end date ajanjaksolle.
  • Code_File: Jokainen arkisto sisältää useita koodia sisältäviä tiedostoja. Kattavuuden suodattaminen tietyn tiedoston mukaan tarjoaa tarkemman kuvan testin kattavuudesta. Jotkut toiminnot tai lausekkeet voivat johtaa vakavampiin ohjelmistovirheisiin kuin toiset. Esimerkiksi testaamaton koodi fail safe turvallisuuskriittisen järjestelmän toimintoja on tärkeämpää testata kuin font color toimintojen testaus.
  • Ohjelmointikieli: Useimmat nykyaikaiset avoimen lähdekoodin ohjelmistovarastot sisältävät useita eri ohjelmointikieliä. Jokaisen kattavuusprosentti Code_File

Mittarin antavat työkalut

Viitteet

  1. JH Andrews, LC Briand, Y. Labiche ja AS Namin. 2006. Mutaatioanalyysin käyttäminen testauksen kattavuuskriteerien arvioimiseen ja vertailuun. IEEE Transactions on Software Engineering 32, 8: 608–624. https://doi.org/10.1109/TSE.2006.83
  2. Phyllis G Frankl ja Oleg Iakounenko. 1998. Muita empiirisiä tutkimuksia testin tehokkuudesta. Proceedings of the 6thACM SIGSOFT International Symposium on Foundations of Software Engineering, 153–162.
  3. Phyllis G Frankl ja Stewart N Weiss. 1993. Haaratestauksen ja tietovirtatestauksen tehokkuuden kokeellinen vertailu. EEE Transactions on SoftwareEngineering 19, 8: 774–787.
  4. Laura Inozemtseva ja Reid Holmes. 2014. Kattavuus ei korreloi vahvasti testisarjan tehokkuuteen. Proceedings of the 36th International Conference on Software Engineering - ICSE 2014, 435–445. https://doi.org/10.1145/2568225.2568271
  5. Akbar Siami Namin ja James H. Andrews. 2009. Koon ja peiton vaikutus testisarjan tehokkuuteen. Proceedings of the 09th International Symposium on Software Testing and Analytics - ISSTA '57, XNUMX. https://doi.org/10.1145/1572272.1572280