Okvir za automatizaciju testiranja je skup alata koji se koriste za izvođenje automatiziranog testiranja softvera. Okviri za automatizaciju testiranja pružaju značajne prednosti u odnosu na ručno testiranje i obično se koriste u brzom razvoju softvera. Ovi okviri omogućuju razvojnim programerima da kreiraju testove, izvode testove i analiziraju rezultate testova. Okvir za automatizaciju testa može biti vođen kodom, podacima, grafičkim korisničkim sučeljem (GUI) ili kombinacijom ovoga.
Okviri za automatizaciju testiranja potrebni su kako bi se zadovoljile potrebe brzog razvoja softvera. U klasičnom životnom ciklusu razvoja softvera slapa, testiranje softvera bila je diskretna faza koja se izvodi nakon implementacije, odnosno kodiranja. Kao takvi, testovi koje su izvršili ljudi bili su tipični.
Mnogi razvojni timovi zamijenili su model vodopada raznim agilnim metodologijama razvoja softvera, koje obično zahtijevaju brz, iterativni razvoj. Brzi razvoj stvorio je potrebu za brzim testiranjem. Okvir za automatizaciju testiranja omogućuje softverskom timu da izvodi često, automatizirano testiranje na bazi koda. Na primjer, umjesto da zahtijeva zasebnu fazu testiranja nakon razvoja, tim koji koristi okvir za automatizaciju testiranja mogao bi odlučiti pokrenuti cijeli niz testova preko noći, kao i manje dijelove automatiziranih testova tijekom dana kako se unose promjene u izvor. kodirati.
Najčešće korištena vrsta okvira je okvir vođen kodom, koji se koristi za izvođenje white-box testiranja. Okviri vođeni kodom zahtijevaju od razvojnih programera da napišu male isječke koda, u obliku jediničnih testova, kako bi testirali funkcionalnost ili performanse softvera. Programeri koji koriste okvire vođene kodom moraju paziti da napišu svoj softver na način koji se može testirati – to jest, kod mora biti modulariziran tako da jedinični test može pozvati isječak koda i provjeriti rezultat. Ovi okviri obično uključuju implementaciju xUnit, gdje “x” varira ovisno o programskom jeziku koji se testira.
Testni okviri vođeni GUI-om koriste se za izvođenje testiranja crne kutije, koristeći softverski alat kao što bi to učinio korisnik, putem unosa miša i tipkovnice. Mogu se sastojati od skripti koje su napisali programeri za izvršavanje niza funkcionalnosti ili se mogu sastojati od skripti generiranih alatom, kao što su skripte za snimanje i reprodukciju. Jedan potencijalni nedostatak ovih okvira je taj što će se skripta pokvariti kad god se GUI promijeni. Neki okviri za automatizaciju GUI-ja mogu generirati skriptu koju programer može uređivati u slučaju promjena GUI-ja, a drugi mogu zahtijevati od korisnika da stvori novu sesiju snimanja i reprodukcije.
Testni okviri vođeni podacima izvode testiranje softvera koristeći podatke, a ti testovi obično rade s tablicama podataka koje specificiraju i ulaze i izlaze. Podaci se mogu čuvati na različitim mjestima, kao što su baze podataka, proračunske tablice ili tekstualne datoteke. Skripte se mogu napisati za izvršavanje softverskih metoda uzimajući ulaze kao parametre i za provjeru povratne vrijednosti softverske metode u odnosu na izlaz. Sve ostalo što se može mijenjati, kao što je okruženje u kojem se test izvršava, također se može pohraniti s podacima i odvojiti od testne skripte. Prednost koju pružaju ovi okviri je odvajanje podataka i logike, što često dovodi do nižeg dugoročnog održavanja.