Što je pokrivenost kodom?
Pokrivenost koda poznata je kao mjera kojom opisujemo stupanj izvornog koda programa koji treba testirati. Ukratko, pokrivenost koda je jedna vrsta tehnike ispitivanja bijele kutije u kojoj lociramo one dijelove programa koji nisu izvršeni u skupu testnih slučajeva. Oni također uključuju u kreiranje nekoliko testnih slučajeva kako bi se povećala pokrivenost i utvrđivanje prilično dobre mjere pokrivenosti kodom. Međutim, u mnogim slučajevima ovaj sustav prikuplja informacije o pokretanom programu. Pokrivenost koda, osim toga, uključuje ga zajedno sa podacima izvornog koda kako bi se izvadilo izvješće o pokrivanju koda testnog skupa.
Kako funkcionira pokrivanje koda?
Zapravo postoje različiti pristupi mjerenju pokrivenosti koda. Ako široko razmotrimo, postoje 3 pristupa koji su sljedeći:
- Instrumentacija izvornog koda : Instrumentacija izvornog koda dodati će izjave instrumentacije u izvorni kôd, a zatim će sastaviti kôd zajedno s uobičajenim alatom za kompajliranje da bi nam dobila sklop koji je instrumentiran.
- Instrumentacija intermedijarnog koda: U instrumenata srednjeg koda sastavljene datoteke dobivaju se instrumentiranje dodavanjem novih bajtodeova, a nakon toga se generira nova klasa.
- Zbirka podataka o vremenu izvođenja : U zbirci podataka o vremenu izvođenja prikupljamo podatke iz okruženja koje je vrijeme izvođenja jer se izvršava kôd kako bi se odredili podaci o pokrivanju.
Budući da se kôd izvršava na temelju testa, sustav pokrivanja koda prikupljao bi informacije o tome koja se izjava izvodi. Sada bi se te informacije koristile kao neka od osnova izvještaja. Uz to, metode pokrivanja koda razlikuju se ovisno o različitim oblicima informacija o pokrivanju koje se prikupljaju. Postoje razne metode pokrivanja koda ako nadiđemo osnovne metode pokrivanja izjava.
Metode pokrivanja koda
Postoji mnogo metoda pokrivanja koda. Nekoliko njih je navedeno u nastavku:
- Stanje Pokrivenost
- Obuhvat FSM-a
- Izvješće o izvještaju
- Obuhvat odluke
- Pokrivanje podružnice
1. Pokrivanje izjave
- To je tehnika dizajniranja bijele kutije u kojoj se bavimo izvršavanjem svih izvršnih izjava barem jednom koje postoje u izvornom kodu. Pokrivenost koda potrebna je za proračun, kao i za mjerenje mnogih iskaza koji postoje u izvornom kodu, kao i onih koji se mogu izvesti pod uvjetom da su ispunjeni zahtjevi.
- Ova je metoda potrebna pri određivanju scenarija, ovisno o strukturi koda koji postoji u okviru testa.
2. Obuhvat odluke
- Ova metoda je korisna u izvještavanju o istinitim ili lažnim ishodima svakog izražajnog izražaja. Izrazi u ovoj pokrivenosti često postaju komplicirani. Zbog toga je prilično teško dobiti 100% pokrivenost.
- To je i razlog što postoje različite metode za izvještavanje o ovoj vrsti metrike. Te se cijele metode u osnovi bave obuhvatom najznačajnijih kombinacija. Pokrivenost odluke pruža veliku osjetljivost kako bi se kontrolirao protok.
3. Pokrivanje podružnice
- Kada govorimo o ovoj vrsti, mislimo da se svaki izlaz koji dolazi iz kodnog modula testira. Kao primjer možemo uzeti u obzir da će u slučaju da su izlazi binarni, testirati True kao i False izlazi.
- Pokrivenost grana pomaže nam u osiguravanju da se sve moguće grane koje proizlaze iz svake odluke uvjet izvrše najmanje jednom.
- Kroz metodu pokrivanja podružnice možemo izračunati udio segmenata koda koji su neovisni. Pored toga, ova nam metoda omogućuje da otkrijemo koji odjeljci koda nemaju podružnice.
Postoji formula izračuna pokrića podružnice:
Pokrivenost grana = Broj izvršenih grana / Ukupan broj izvršenih grana
4. Pokrivanje stanja
- Obuhvat stanja, koji se također naziva pokrivenost izraza, govori nam o tome kako se ocjenjuju varijable ili pod-ekspresije koje postoje u uvjetnom izrazu.
- Razmotrimo primjer u kojem se izraz sastoji od logičnih operacija poput AND, OR ili XOR koji se sastoji od ukupnog broja mogućnosti.
- Ova metoda nam zapravo daje mnogo bolju osjetljivost za kontrolu protoka u odnosu na pokrivenost odluke. Ova metoda nam ne daje jamstvo u pogledu potpunog obuhvata odluka.
Postoji formula izračuna pokrića podružnice:
Obuhvat stanja = Broj izvršenih operandi / Ukupan broj izvršenih operata
5. Pokrivanje konačnog stanja stroja
- Ova se metoda smatra najkompleksnijom vrstom pokrivanja koda. Razlog za to je što ova metoda zapravo djeluje na ponašanje dizajna.
- Također, pomoću ove metode moramo saznati koliko država koja su vremenski specifična posjećuje i prolazi. Uz to, ova metoda također potvrđuje koliko sekvence uzima u obzir u stroju s konačnim stanjem.
Prednosti kodnog obuhvata
Neke su prednosti dane u nastavku:
- Vrlo je korisna u procjeni kvantitativne mjere pokrivenosti kodom
- Također nam omogućuje izradu dodatnih testnih slučajeva kako bi se povećala pokrivenost
- Obuhvat koda omogućuje nam i lociranje onih dijelova programa koje testni slučajevi ne provode.
Nedostaci kodnog obuhvata
Neki od nedostataka dati su u nastavku:
- Kad god određena značajka nije dobro implementirana u dizajn, pokrivenost koda i dalje bi trebala biti izvješća da je pokrivenost 100%.
- Nemoguće je razumjeti testirate li sve moguće vrijednosti značajke pomoću pokrivanja koda
- To također ne govori koliko smo i koliko dobro pokrili našu logiku.
Zaključak
Pokrivenost koda smatra se mjerom u kojoj opisujemo stupanj provjere izvornog koda programa. Također nam pomaže da izračunamo učinkovitost provedbe testa. Također, pokrivanje izjava znači izvršavanje svih izvršnih izjava najmanje jednom.
Preporučeni članci
Ovo je vodič o pokrivanju koda. Ovdje smo raspravljali o metodama i kako funkcionira pokrivanje koda? zajedno s prednostima i nedostacima. Možete pogledati i sljedeće članke da biste saznali više -
- Kako testno pokrivanje čini rad tako lakim?
- Različiti alati za ispitivanje GUI-ja
- Vrste ispitivanja mutacijama
- Što je CodeIgniter?
- Alati za pokrivanje kodova | Top 6 alata za pokrivanje koda
- Što je testni slučaj? | Savjeti i trikovi