Testarea funcțională automată este termenul folosit pentru a descrie procesul de creare a scripturilor de testare automate din testele funcționale manuale pentru aplicațiile software. Testare funcțională în procesul prin care software-ul este evaluat pentru a se asigura că îndeplinește toate cerințele specificate. Această procedură de testare se realizează în mod normal utilizând un software conceput pentru a captura și monitoriza testarea software-ului. Înainte de dezvoltarea abordării de testare funcțională automată, dezvoltatorii de software s-au bazat pe testarea umană a aplicațiilor software.
Abordarea de testare manuală are riscuri și costuri inerente asociate cu aceasta, deoarece se bazează pe oameni pentru a verifica validitatea funcționalității în cadrul unei aplicații. În plus, majoritatea aplicațiilor software au o durată de viață lungă care va necesita inserarea mai multor patch-uri software în sistemul de operare de bază. Având un proces de testare funcțională automatizat, proprietarii de aplicații software pot fi siguri că testarea regresiei poate fi finalizată într-un mod mai rentabil, cu mai puține erori.
Abordarea automată a testării funcționale nu este o idee nouă, deoarece a fost creată cu prima aplicație software. În trecut, această testare a fost finalizată de dezvoltatorii care au creat aplicația. Astăzi, testarea funcțională automată este proiectată, dezvoltată și testată de ingineri de testare cu un set de abilități specializate în testare. Această schimbare de paradigmă a asigurat că dezvoltatorul unei aplicații este verificat printr-un proces independent de verificare și validare pentru a se asigura că cerințele funcționale ale unei aplicații software sunt complete și precise.
Unul dintre avantajele cheie ale acestei abordări de testare este că permite reutilizarea unui program de testare. În timpul creării unui test automat, inginerii de testare creează scripturi care completează testul funcțional dorit. Această programare de testare permite testarea viitoare a aplicației și rezultatele acelor teste să fie livrate în mod automat către managerii organizației software. Fiecare test este creat ca într-o unitate de lucru individuală și înlănțuit împreună pentru a crea o întreagă suită de teste a unei aplicații software. Rezultatele acestor teste sunt rezumate și livrate managerilor de software într-o manieră robustă pentru a permite validarea în timp real a efortului de dezvoltare a sistemului în curs.
Testarea funcțională automată nu poate reproduce logica din spatele gândirii umane de a concepe teste și de a evalua satisfacția generală a unui produs. Cu toate acestea, poate fi folosit pentru a testa proceduri sau controale repetitive în cadrul unei aplicații software. Deși acesta nu este panaceul pentru toate testele, o combinație bună de testare unitară, testare de integrare și testare funcțională automată asigură o abordare mai elegantă a dezvoltării aplicațiilor software în ansamblu.