Testimise automatiseerimise raamistik on tööriistade komplekt, mida kasutatakse automatiseeritud tarkvara testimiseks. Testimise automatiseerimise raamistikud pakuvad olulisi eeliseid võrreldes käsitsi testimisega ja neid kasutatakse tavaliselt kiires tarkvaraarenduses. Need raamistikud võimaldavad tarkvaraarendajatel luua teste, sooritada teste ja analüüsida testitulemusi. Testimise automatiseerimise raamistikku võivad juhtida kood, andmed, graafiline kasutajaliides (GUI) või nende kombinatsioon.
Tarkvara kiire arendamise vajaduste rahuldamiseks on vaja testimise automatiseerimise raamistikke. Klassikalise juga tarkvaraarenduse elutsüklis oli tarkvara testimine diskreetne faas, mis viidi läbi pärast juurutamist ehk kodeerimist. Sellisena olid tüüpilised inimeste tehtud testid.
Paljud arendusmeeskonnad on asendanud juga mudeli erinevate agiilsete tarkvaraarenduse metoodikatega, mis tavaliselt nõuavad kiiret iteratiivset arendust. Kiire areng on tekitanud vajaduse kiirtestimise järele. Testimise automatiseerimise raamistik võimaldab tarkvarameeskonnal teha koodibaasil sagedasi automatiseeritud testimisi. Näiteks selle asemel, et pärast arendust nõuda eraldi testimisetappi, võib testimise automatiseerimise raamistikku kasutav meeskond valida, kas käivitada üleöö terve komplekti teste ja päeva jooksul, kui allikas tehakse muudatusi, teha väiksemaid automatiseeritud testide tükke. kood.
Kõige sagedamini kasutatav raamistik on koodipõhine raamistik, mida kasutatakse valge kasti testimiseks. Koodipõhised raamistikud nõuavad, et arendajad kirjutaksid ühikutestide vormis väikesed koodijupid, et testida tarkvara funktsionaalsust või jõudlust. Koodipõhiseid raamistikke kasutavad arendajad peavad kirjutama oma tarkvara nii, et see oleks testitav – see tähendab, et kood peab olema moduleeritud nii, et ühikutest saab välja kutsuda koodilõigu ja kontrollida tulemust. Need raamistikud sisaldavad tavaliselt xUniti rakendust, kus “x” varieerub olenevalt testitavast programmeerimiskeelest.
GUI-põhiseid testraamistikke kasutatakse musta kasti testimiseks, kasutades tarkvaratööriista nagu kasutaja, kasutades hiire ja klaviatuuri sisendeid. Need võivad koosneda skriptidest, mille arendajad on kirjutanud, et kasutada mitmeid funktsioone, või need võivad koosneda tööriistaga loodud skriptidest, näiteks salvestamise ja taasesituse skriptidest. Nende raamistike üks võimalik puudus on see, et skript katkeb GUI muutumisel. Mõned GUI-automaatikaraamistikud võivad genereerida skripti, mida arendaja saab GUI muudatuste korral redigeerida, ja teised võivad nõuda kasutajalt uue salvestamise ja taasesituse seansi loomist.
Andmepõhised testimisraamistikud teostavad tarkvara testimist andmete abil ja need testid töötavad tavaliselt andmetabelitega, mis määravad nii sisendid kui ka väljundid. Andmeid saab hoida erinevates kohtades, näiteks andmebaasides, arvutustabelites või tekstifailides. Skripte saab kirjutada tarkvarameetodite käivitamiseks, võttes sisendeid parameetritena, ja kontrollimaks tarkvarameetodi tagastusväärtust väljundi suhtes. Kõike muud, mida saab muuta, näiteks keskkonda, milles test käitatakse, saab koos andmetega salvestada ja testskriptist eraldada. Nende raamistike eeliseks on andmete ja loogika eraldamine, mis sageli põhjustab madalamat pikaajalist hooldust.