Automatiseeritud funktsionaalne testimine on termin, mida kasutatakse tarkvararakenduste käsitsi tehtavatest funktsioonitestidest automatiseeritud testskriptide loomise protsessi kirjeldamiseks. Funktsionaalne testimine protsessis, mille käigus hinnatakse tarkvara, et tagada selle vastavus kõikidele määratud nõuetele. See testimisprotseduur viiakse tavaliselt läbi tarkvaraga, mis on loodud tarkvara testimise jäädvustamiseks ja jälgimiseks. Enne automatiseeritud funktsionaalse testimise lähenemisviisi väljatöötamist toetusid tarkvaraarendajad tarkvararakenduste inimtestimisele.
Manuaalse testimise lähenemisviisiga on seotud riskid ja kulud, kuna see põhineb inimestel, kes kontrollivad rakenduse funktsionaalsuse kehtivust. Lisaks on enamikul tarkvararakendustel pikk kasutusiga, mis nõuab mitme tarkvarapaiga sisestamist aluseks olevale operatsioonisüsteemile. Automatiseeritud funktsionaalse testimise protsessi abil võivad tarkvararakenduste omanikud olla kindlad, et regressioonitesti saab lõpule viia kuluefektiivsemalt ja vähemate vigadega.
Automatiseeritud funktsionaalse testimise lähenemine ei ole uus idee, kuna see loodi koos esimese tarkvararakendusega. Varem lõpetasid selle testimise rakenduse loonud arendajad. Tänapäeval kavandavad, arendavad ja testivad automaatset funktsionaalset testimist testimisele spetsialiseerunud testimisinsenerid. See paradigma muutus on taganud, et rakenduse arendajat kontrollib sõltumatu verifitseerimis- ja valideerimisprotsess, et tarkvararakenduse funktsionaalsed nõuded oleksid täielikud ja täpsed.
Selle testimismeetodi üks peamisi eeliseid on see, et see võimaldab testimisprogrammi uuesti kasutada. Automatiseeritud testi loomise ajal loovad testimisinsenerid skripte, mis lõpetavad soovitud funktsionaalse testi. See testprogrammeerimine võimaldab tulevikus rakendust testida ja nende testide tulemusi automatiseeritud viisil tarkvaraorganisatsiooni juhtidele edastada. Iga test luuakse eraldi tööühikuna ja aheldatakse kokku, et luua terve tarkvararakenduse testkomplekt. Nende testide tulemused võetakse kokku ja edastatakse tarkvarahalduritele usaldusväärsel viisil, et võimaldada käimasoleva süsteemi arendustegevuse reaalajas valideerimist.
Automaatne funktsionaalne testimine ei suuda reprodutseerida inimmõtlemise loogikat testide väljamõtlemiseks ja toote üldise rahulolu hindamiseks. Seda saab aga kasutada korduvate protseduuride või juhtelementide testimiseks tarkvararakenduses. Kuigi see ei ole imerohi kõigi testimiste jaoks, tagab üksuse testimise, integratsioonitestimise ja automatiseeritud funktsionaalsuse testimise hea kombinatsioon elegantsema lähenemise tarkvararakenduste arendamisele tervikuna.