Kaj je enotno testiranje?

Preizkušanje enot v računalništvu se nanaša na razvojni proces, ki ocenjuje tako funkcijo kot zmogljivost najmanjšega diskretnega programskega modula, ki lahko deluje samostojno, znan tudi kot enota. Ker je merjenje jedro vseh programov za kakovost programske opreme, vsak test enote preveri, ali enota upošteva načrtno namero, navedeno v razvojnem načrtu. Test tudi potrjuje, da sta obnašanje in zmogljivost enote pričakovana.

Na splošno so testi enot sami majhni programi, v katerih razvijalec določi sprejemljive vhode, vedenje in izhode za enoto in nato zabeleži rezultate za kasnejši pregled in oceno. Razvijalec programske opreme lahko izvaja testiranje enot na ad hoc osnovi ali če je glavni program velik ali zapleten, lahko doda enotne teste za vključitev v večji testni pas, ki izvaja več integriranih enot hkrati. Ne glede na to je testiranje enote nenehno prizadevanje razvijalca, da potrdi, da njegova ali njena koda deluje po pričakovanjih, in se kot tako šteje za sestavni del celotnega razvojnega procesa.

Vsak proces razvoja programske opreme se običajno začne s fazo načrtovanja, v kateri celotna ekipa porabi svoj čas za zapisovanje načrtov za načrtovanje, razvoj, integracijo, testiranje sistema, sprejemanje in vzdrževanje nove programske opreme. Enotno testiranje je nujen sestavni del vseh faz. Razvijalci morajo imeti preprost način za preverjanje, ali spremembe kode, izvedene v modulih, dajejo pričakovane rezultate, preden te spremembe integrirajo v glavni program.

Teste enot običajno napiše isti razvijalec, katerega koda bo uporabljena. Razlog za to je, da programer enote poglobljeno razume zasnovo modula in pričakovano zmogljivost. Običajno razvijalčev testni primer nastavi parametre za vse vhode enote, metode obdelave in izhode ter definira sprejemljiva merila zmogljivosti za kasnejšo integracijo in sprejemno testiranje.

Ena od ključnih prednosti testiranja enot je, da spodbuja odkrivanje težav zgodaj v procesu razvoja. Ko se težave s kodiranjem odkrijejo zgodaj, se običajno lahko izvedejo korektivni ukrepi in popravki, preden ima napaka koda kakršen koli negativen učinek na integrirano aplikacijo in njene uporabnike. Čeprav testi enot ne morejo ujeti vseh možnih programskih napak, znatno zmanjšajo napake v kasnejših fazah razvojnega procesa, prihranijo čas, denar in vire, ki bi bili potrebni za odpravljanje napak v programu z dodatnimi cikli validacije in preverjanja pred izdajo.