Pengujian fungsional otomatis adalah istilah yang digunakan untuk menggambarkan proses pembuatan skrip pengujian otomatis dari pengujian fungsional manual untuk aplikasi perangkat lunak. Pengujian fungsional dalam proses dimana perangkat lunak dievaluasi untuk memastikan bahwa itu memenuhi semua persyaratan yang ditentukan. Prosedur pengujian ini biasanya dilakukan dengan menggunakan perangkat lunak yang dirancang untuk menangkap dan memantau pengujian perangkat lunak. Sebelum pengembangan pendekatan pengujian fungsional otomatis, pengembang perangkat lunak mengandalkan pengujian manusia terhadap aplikasi perangkat lunak.
Pendekatan pengujian manual memiliki risiko dan biaya yang melekat padanya, karena bergantung pada manusia untuk memverifikasi validitas fungsionalitas dalam suatu aplikasi. Selain itu, sebagian besar aplikasi perangkat lunak memiliki masa pakai yang lama yang memerlukan penyisipan beberapa tambalan perangkat lunak ke sistem operasi yang mendasarinya. Dengan memiliki proses pengujian fungsional otomatis, pemilik aplikasi perangkat lunak dapat yakin bahwa pengujian regresi dapat diselesaikan dengan cara yang lebih hemat biaya dengan lebih sedikit kesalahan.
Pendekatan pengujian fungsional otomatis bukanlah ide baru, karena dibuat dengan aplikasi perangkat lunak pertama. Di masa lalu, pengujian ini diselesaikan oleh pengembang yang membuat aplikasi. Saat ini, pengujian fungsional otomatis dirancang, dikembangkan, dan diuji oleh para insinyur pengujian dengan keahlian khusus dalam pengujian. Pergeseran paradigma ini telah memastikan bahwa pengembang aplikasi diverifikasi oleh proses verifikasi dan validasi independen untuk memastikan persyaratan fungsional aplikasi perangkat lunak lengkap dan tepat.
Salah satu manfaat utama dari pendekatan pengujian ini adalah memungkinkan penggunaan kembali program pengujian. Selama pembuatan pengujian otomatis, teknisi pengujian membuat skrip yang menyelesaikan pengujian fungsional yang diinginkan. Pemrograman pengujian ini memungkinkan pengujian aplikasi di masa mendatang dan hasil pengujian tersebut dikirimkan secara otomatis kepada manajer organisasi perangkat lunak. Setiap pengujian dibuat sebagai unit kerja individu dan dirangkai bersama untuk membuat keseluruhan rangkaian pengujian aplikasi perangkat lunak. Hasil pengujian ini dirangkum dan dikirimkan ke manajer perangkat lunak dengan cara yang kuat untuk memungkinkan validasi waktu nyata dari upaya pengembangan sistem yang sedang berlangsung.
Pengujian fungsional otomatis tidak dapat mereproduksi logika di balik pemikiran manusia untuk memahami pengujian dan mengevaluasi kepuasan keseluruhan produk. Namun, ini dapat digunakan untuk menguji prosedur atau kontrol berulang dalam aplikasi perangkat lunak. Meskipun ini bukan obat mujarab untuk semua pengujian, kombinasi yang baik dari pengujian unit, pengujian integrasi, dan pengujian fungsional otomatis memastikan pendekatan yang lebih elegan untuk pengembangan aplikasi perangkat lunak secara keseluruhan.