Testavimo automatizavimo sistema yra įrankių rinkinys, naudojamas automatizuotam programinės įrangos testavimui. Testavimo automatizavimo sistemos suteikia didelių pranašumų, palyginti su rankiniu testavimu, ir yra dažniausiai naudojamos greitam programinės įrangos kūrimui. Šios sistemos leidžia programinės įrangos kūrėjams kurti testus, vykdyti testus ir analizuoti testų rezultatus. Bandymo automatizavimo sistema gali būti pagrįsta kodu, duomenimis, grafine vartotojo sąsaja (GUI) arba jų deriniu.
Norint patenkinti greito programinės įrangos kūrimo poreikius, reikalingos testavimo automatizavimo sistemos. Klasikiniame programinės įrangos kūrimo cikle programinės įrangos testavimas buvo atskira fazė, atlikta po įdiegimo arba kodavimo. Taigi žmogaus atlikti bandymai buvo tipiški.
Daugelis kūrėjų komandų pakeitė krioklio modelį įvairiomis judriomis programinės įrangos kūrimo metodikomis, kurioms paprastai reikia greito, kartotinio kūrimo. Dėl spartaus vystymosi atsirado greitų bandymų poreikis. Testavimo automatizavimo sistema leidžia programinės įrangos komandai dažnai atlikti automatizuotą kodų bazės testavimą. Pavyzdžiui, užuot reikalauusi atskiro testavimo etapo po kūrimo, komanda, kuri naudoja testavimo automatizavimo sistemą, gali nuspręsti per naktį atlikti visą testų rinkinį, o taip pat mažesnes automatinių testų dalis per dieną, kai šaltinyje atliekami pakeitimai. kodas.
Dažniausiai naudojamas sistemos tipas yra kodu valdoma sistema, kuri naudojama baltojo langelio testavimui atlikti. Kodu pagrįstos sistemos reikalauja, kad kūrėjai parašytų nedidelius kodo fragmentus vienetų testų forma, kad patikrintų programinės įrangos funkcionalumą arba našumą. Kūrėjai, naudojantys kodu pagrįstas sistemas, turi pasirūpinti, kad savo programinę įrangą parašytų taip, kad ją būtų galima išbandyti – tai yra, kodas turi būti moduliuotas taip, kad vieneto testas galėtų iškviesti kodo fragmentą ir patikrinti rezultatą. Šios sistemos paprastai apima xUnit įgyvendinimą, kur „x“ skiriasi priklausomai nuo testuojamos programavimo kalbos.
GUI valdomos testavimo sistemos naudojamos juodosios dėžės testavimui atlikti naudojant programinės įrangos įrankį, kaip tai darytų vartotojas, naudojant pelės ir klaviatūros įvestis. Jie gali būti sudaryti iš scenarijų, kuriuos kūrėjai parašė tam, kad galėtų pasinaudoti įvairiomis funkcijomis, arba jie gali būti sudaryti iš įrankių sugeneruotų scenarijų, pvz., įrašymo ir atkūrimo scenarijų. Vienas iš galimų šių sistemų trūkumų yra tas, kad scenarijus sugenda, kai pasikeičia GUI. Kai kurios GUI automatizavimo sistemos gali generuoti scenarijų, kurį kūrėjas gali redaguoti GUI pakeitimų atveju, o kitose gali reikėti vartotojo sukurti naują įrašymo ir atkūrimo seansą.
Duomenimis pagrįstos testavimo sistemos atlieka programinės įrangos testavimą naudodamos duomenis, o šie testai paprastai veikia su duomenų lentelėmis, kuriose nurodomi įvestis ir išvestis. Duomenys gali būti saugomi įvairiose vietose, pavyzdžiui, duomenų bazėse, skaičiuoklėse ar tekstiniuose failuose. Skriptai gali būti parašyti, kad būtų vykdomi programinės įrangos metodai, naudojant įvestis kaip parametrus, ir patvirtinti programinės įrangos metodo grąžinimo vertę, palyginti su išvestimi. Visa kita, ką galima keisti, pvz., aplinka, kurioje vykdomas testas, taip pat gali būti saugoma su duomenimis ir atskirta nuo bandymo scenarijaus. Šių sistemų pranašumas yra duomenų ir logikos atskyrimas, dėl kurio dažnai sumažėja ilgalaikė priežiūra.