Tavapärane testimine vs objektile orienteeritud testimine
Tarkvara testimine on tarkvara arendamise protsessi üks olulisemaid samme. Tarkvara testimine tagab, et väljatöötatud tarkvara vastab kõigile klientide nõuetele ja töötab ilma vigadeta. Kuna tarkvaraarenduse paradigmad ja tehnikad on algsest kose tarkvaraarendusest nihkunud OOD / Agile ja muude uuemate kontseptsioonide juurde, on testimine nihkunud ka tavapäraselt (traditsiooniliselt) testimiselt Object Oriented Testing (OOT) poole. Kuid kuna juga arendamine on endiselt kasutusel, kasutavad testijad endiselt tavapäraseid teste.
Mis on tavapärane testimine?
Tavapärane testimisprotsess toimub enamasti siis, kui juga elutsüklit kasutatakse organisatsioonides tarkvara väljatöötamisel. Tavapärane testimine toimub alati olelusringi testimise etapis, mis tavaliselt järgib arendusetappi ja jätkab rakendamise etappi. Selles testimise etapis viiakse läbi peamiselt kolme tüüpi katsetusi. Süsteemi testimine tagab, et süsteemi funktsioonid vastavad kliendinõuetele, mis on dokumenteeritud SRS-is (tarkvaranõuete spetsifikatsioon), kasutades tavaliselt musta kasti. Integreerimistestimisega testitakse eelprojekti, kasutades funktsionaalset ja lagunevat lähenemist. Integreerimise testimine põhineb disaini struktuuril, kasutades kas ülalt alla või alt üles lähenemist. Lõpuks kontrollivad üksustestid, et detailne disain on õige.
Mis on objektile orienteeritud testimine?
Objektorienteeritud (OO) analüüsi ja disaini kasutamine koos Agile'i ja muude hiljutiste tarkvaraarendusmetoodikatega viib objektipõhise testimiseni. OO arendamine on tavaliselt suunatud käitumisele. Testimine toimub rõhuasetusega kompositsioonil. See tähendab, et disain luuakse tükkhaaval ja komponeeritakse kogu süsteemi lõpuleviimiseks. Kuna OO väljatöötamisel kasutatakse tänapäeval kiiret prototüüpimist ja mingisugust inkrementaalset lähenemisviisi, ei ole kolm tavapärast testimistaset (süsteem, integreerimine ja üksuste testimine) OO kujunduses selgelt nähtavad (kuid need eksisteerivad enamasti). Süsteemi testimisel (OO testimise all) kasutatakse palju sama (musta kasti) lähenemist kui tavapärasel testimisel ja kontrollitakse nõuete spetsifikatsioone (kuna nõudeid tuleb kontrollida olenemata arendusprotsessist). Ühikutestimine objektorienteeritud testimise ajal on sarnane tavapärase ühikutestimisega, kuid põhiline erinevus on kasutatava üksuse määratlus. Praegu aktsepteeritud üksused, mida kasutatakse üksuste testimiseks, on klassid ja meetodid.
Mis vahe on tavapärasel testimisel ja objektile orienteeritud testimisel?
Tavapärane testimine on traditsiooniline lähenemisviis testimisele, mida kasutatakse enamasti siis, kui arendamiseks kasutatakse veekogude elutsüklit, samal ajal kui objektipõhist analüüsi ja disaini kasutatakse ettevõtte tarkvara arendamiseks, objektipõhist testimist. Tavapärane testimine keskendub rohkem lagunemisele ja funktsionaalsetele lähenemistele, mitte objektiivsele testimisele, kus kasutatakse kompositsiooni. Tavapärases testimises kasutatavat kolme testimise taset (süsteem, integreerimine, üksus) pole objektorienteeritud testimise puhul selgelt määratletud. Selle peamine põhjus on see, et OO arendamisel kasutatakse inkrementaalset lähenemist, samas kui traditsioonilises arengus järgitakse järjestikust lähenemist. Ühikutestimise osas vaadeldakse objektorienteeritud testimisel tavapäraste testidega võrreldes palju väiksemaid ühikuid.