Okvir za avtomatizacijo testiranja je niz orodij, ki se uporabljajo za izvajanje avtomatiziranega testiranja programske opreme. Okvirji za avtomatizacijo testiranja zagotavljajo pomembne prednosti pred ročnim testiranjem in se običajno uporabljajo pri hitrem razvoju programske opreme. Ti okvirji omogočajo razvijalcem programske opreme, da ustvarjajo teste, izvajajo teste in analizirajo rezultate testov. Okvir za avtomatizacijo testiranja lahko poganjajo koda, podatki, grafični uporabniški vmesnik (GUI) ali kombinacija le teh.
Okvirji za avtomatizacijo testiranja so potrebni za izpolnjevanje potreb hitrega razvoja programske opreme. V klasičnem življenjskem ciklu razvoja programske opreme slapa je bilo testiranje programske opreme diskretna faza, izvedena po implementaciji ali kodiranju. Kot takšni so bili tipični testi, ki jih izvaja človek.
Številne razvojne ekipe so zamenjale model slapa z različnimi agilnimi metodologijami razvoja programske opreme, ki običajno zahtevajo hiter, ponavljajoč razvoj. Hiter razvoj je ustvaril potrebo po hitrem testiranju. Okvir za avtomatizacijo testiranja omogoča skupini programske opreme, da izvaja pogosto avtomatizirano testiranje na osnovi kode. Na primer, namesto da bi zahtevala ločeno fazo testiranja po razvoju, se lahko ekipa, ki uporablja okvir za avtomatizacijo testov, odloči za izvajanje celotnega nabora testov čez noč, kot tudi manjše kose avtomatiziranih testov čez dan, ko se spremeni izvor Koda.
Najpogosteje uporabljena vrsta ogrodja je okvir, ki ga poganja koda, ki se uporablja za izvajanje testiranja belega polja. Okvirji, ki jih poganja koda, od razvijalcev zahtevajo, da napišejo majhne delčke kode v obliki enotnih testov, da preizkusijo funkcionalnost ali zmogljivost programske opreme. Razvijalci, ki uporabljajo ogrodja, ki jih poganja koda, morajo poskrbeti, da svojo programsko opremo napišejo na način, ki ga je mogoče preizkusiti – to pomeni, da mora biti koda modularizirana tako, da lahko test enote pokliče delček kode in preveri rezultat. Ti okvirji običajno vključujejo implementacijo xUnit, kjer se “x” razlikuje glede na programski jezik, ki se testira.
Testni okviri, ki jih poganja GUI, se uporabljajo za izvajanje testiranja črne škatle z uporabo programskega orodja, kot bi to storil uporabnik, z vnosom z miško in tipkovnico. Lahko so sestavljeni iz skriptov, ki so jih napisali razvijalci za izvajanje vrste funkcionalnosti, ali pa so lahko sestavljeni iz skriptov, ustvarjenih z orodjem, kot so skripti za snemanje in predvajanje. Ena od možnih pomanjkljivosti teh okvirjev je, da se skript zlomi vsakič, ko se GUI spremeni. Nekatera ogrodja za avtomatizacijo GUI lahko ustvarijo skript, ki ga lahko razvijalec uredi v primeru sprememb GUI, drugi pa lahko od uporabnika zahtevajo, da ustvari novo sejo snemanja in predvajanja.
Podatkovno vodeni testni okviri izvajajo testiranje programske opreme z uporabo podatkov in ti testi običajno delujejo s podatkovnimi tabelami, ki določajo tako vhode kot izhode. Podatki se lahko hranijo na različnih lokacijah, kot so baze podatkov, preglednice ali besedilne datoteke. Skripte je mogoče napisati za izvajanje programskih metod, ki vzamejo vhode kot parametre, in za preverjanje vrnjene vrednosti programske metode glede na izhod. Vse drugo, kar je mogoče spreminjati, kot je okolje, v katerem se izvaja test, je prav tako mogoče shraniti s podatki in ločiti od testnega skripta. Prednost, ki jo zagotavljajo ti okviri, je ločevanje podatkov in logike, kar pogosto vodi do nižjega dolgoročnega vzdrževanja.