Kode dekning - Metoder og hvordan kodedekning fungerer?

Innholdsfortegnelse:

Anonim

Hva er kodedekning?

Kodedekning er kjent som tiltaket der vi beskriver graden av programmets kildekode som må testes. Kodedekning er kort sagt en type testmetode for hvit boks der vi finner de delene av programmet som ikke er blitt utført av testsakene. De innlemmer også i opprettelsen av få testsaker for å øke dekningen og bestemme det ganske gode målet for kodedekningen. I mange tilfeller samler dette systemet imidlertid informasjon angående det kjørende programmet. Kodedekning, i tillegg, inkorporerer den sammen med informasjon om kildekoden for å ta ut rapporten om kodedekning av testsuiten.

Hvordan fungerer kodedekning?

Det finnes faktisk forskjellige tilnærminger til måling av kodedekningen. Hvis vi vurderer på en bred måte, finnes det 3 av tilnærmingene som er som følger:

  • Kildekodeinstrumentering: Kildekodeinstrumentering vil legge til uttalelsene om instrumentering til kildekoden, og deretter vil den kompilere koden sammen med det normale kompileringsverktøyet, slik at vi får en enhet som er instrumentert.
  • Intermediate Code Instrumentation: I Intermediate Code Instrumentation blir kompilerte filer instrumenterte gjennom tillegg av bytekoder som er nye, og etter det blir den nye klassen generert.
  • Runtime Information Collection: I Runtime information collection samler vi informasjonen fra miljøet som er kjøretid siden kode utføres for å bestemme dekningsinformasjonen.

Siden koden blir utført under testen, vil kodedekningssystemet samle informasjon om hvilke av utsagnene som blir utført. Nå vil denne informasjonen bli brukt som noe av grunnlaget for rapportene. I tillegg er kodedekningsmetoder forskjellige, avhengig av de forskjellige formene for dekningsinformasjonen som blir samlet inn. Det finnes forskjellige metoder for kodedekning hvis vi går utover de grunnleggende metodene for uttalelsesdekning.

Metoder for kodedekning

Det finnes mange metoder for kodedekning. Få av dem er listet opp nedenfor:

  • Tilstandsdekning
  • FSM dekning
  • Uttalelsesdekning
  • Beslutningsdekning
  • Grendekning

1. Uttalelse dekning

  • Det er den hvite boksen testdesignteknikk der vi håndterer utførelsen av alle kjørbare uttalelser minst en gang som finnes i kildekoden. Kodedekning er nødvendig i beregningen, så vel som målingen av mange utsagn som finnes i kildekoden, så vel som de som kan utføres forutsatt at kravene er gitt.
  • Denne metoden er nødvendig i avledningen av scenariene, avhengig av strukturen til koden som eksisterer under testen.

2. Beslutningsdekning

  • Denne metoden er nyttig i rapportering av enten sanne eller falske utfall av hvert uttrykk som er boolsk. Uttrykkene i denne dekningen blir ofte kompliserte. Derfor er det ganske vanskelig å få 100% dekning.
  • Det er nettopp grunnen til at det finnes forskjellige metoder for å rapportere denne typen beregninger. Hele metodene handler i utgangspunktet om dekningen av de mest betydningsfulle kombinasjonene. Beslutningsdekning gir stor følsomhet for å kontrollere flyten.

3. Branch Dekning

  • Når vi snakker om denne typen, mener vi at hver utgang som kommer fra kodemodulen blir testet. Som et eksempel kan vi vurdere at i tilfelle utgangene er binære, vil vi teste True så vel som falske utganger.
  • Branch Coverage hjelper oss med å sikre at alle mulige grener som kommer fra hver av beslutningene, betingelsen blir henrettet minimum en gang.
  • Gjennom Branch-dekningsmetoden kan vi beregne brøkdelen av kodesegmentene som er uavhengige. I tillegg gjør denne metoden oss i stand til å finne ut hvilke deler av koden som ikke har grenene.

Det finnes formelen for beregning av filialdekning:

Grendekning = Antall utførte grener / Totalt antall utførte grener

4. Tilstandsdekning

  • Tilstandsdekning, som også kalles som uttrykksdekning, forteller oss hvordan variablene eller uttrykkene som finnes i betinget uttalelse blir evaluert.
  • La oss se på et eksempel der et uttrykk består av de boolske operasjonene som AND, OR eller XOR som består av det totale antallet muligheter.
  • Denne metoden gir oss faktisk mye bedre følsomhet for å kontrollere flyt sammenlignet med beslutningsdekningen. Denne metoden gir oss ingen garanti for full dekningsdekning.

Det finnes formelen for beregning av filialdekning:

Tilstandsdekning = Antall utførte operander / Totalt antall utførte operander

5. Finite State Machine Cover

  • Denne metoden blir sett på som den mest komplekse typen kodedekningsmetode. Årsaken bak det er at denne metoden faktisk fungerer på atferden til designen.
  • I denne metoden fikk vi også finne ut hvor mange av de tidspesifikke delstatene som blir besøkt og transitt. I tillegg bekrefter denne metoden også hvor mange av sekvensene som blir vurdert i den endelige tilstanden.

Fordeler med kodedekning

Noen av fordelene er gitt nedenfor:

  • Det er ganske nyttig i evalueringen av kodedekningens kvantitative mål
  • Det tillater oss også å opprette testsaker som er ekstra for å øke dekningen
  • Kodedekning tillater oss også å finne de delene av programmet som ikke utøves av testsakene.

Ulemper ved kodedekning

Noen av ulempene er gitt nedenfor:

  • Hver gang en spesiell funksjon ikke er godt implementert i designen, vil kodedekningen fortsatt rapportere dekning på 100%.
  • Det er umulig å forstå om du tester alle mulige verdier for funksjonen gjennom kodedekningen
  • Den forteller heller ikke hvor mye og hvor bra vi dekket logikken vår.

Konklusjon

Kodedekningen blir betraktet som et mål der vi beskriver grad som kildekoden til et program har testet. Det hjelper oss også med å beregne effektiviteten av testimplementeringen. Uttalelsesdekning betyr også å utføre alle kjørbare uttalelser minst en gang.

Anbefalte artikler

Dette er en guide til kodedekning. Her diskuterer vi metodene og hvordan kodedekning fungerer? sammen med fordeler og ulemper. Du kan også se på følgende artikler for å lære mer -

  1. Hvordan testdekning gjør det enkelt å jobbe?
  2. Ulike GUI-testverktøy
  3. Typer mutasjonstesting
  4. Hva er CodeIgniter?
  5. Kode dekningsverktøy | Topp 6 kodedekningsverktøy
  6. Hva er test case? | Tips og triks