Robotic Testing Automation (RTA) — Bagaimana penggunaan robot untuk pengujian suatu aplikasi?

Bella Pertiwi
Mandiri Engineering
5 min readJul 19, 2020

--

Hai guys, saat ini automation pasti bukanlah suatu kosa kata yang terdengar asing. Hampir semua industri saat ini menggunakan automation untuk efektifitas kinerja pada proses yang berulang, seperti pada email marketing dan proses transaksi pembayaran pada jalan tol. Salah satu trend automation yang sedang berkembang saat ini adalah Robotic Process Automation (RPA). Nah, penggunaan robot untuk automation juga dapat digunakan pada salah satu tahapan di Software Development Life Cycle (SDLC) aplikasi yaitu pada tahapan testing. Penggunaan robot untuk melakukan testing aplikasi disebut dengan Robotic Testing Automation (RTA).

Sebelum kita masuk ke dalam RTA, apa yang terbayang di benak kalian ketika mendengar kalimat RPA? Mungkin beberapa akan membayangkan sekumpulan robot yang duduk di depan komputer dan melakukan pekerjaan yang dilakukan oleh manusia. Namun, RPA bukanlah sekumpulan pasukan robot yang bekerja seperti manusia. Dikutip dari https://www.ibm.com/automation/rpa, RPA adalah penggunaan software bots untuk melakukan automation pekerjaan yang repetitif atau berulang sehingga manusia dapat berkonsentrasi pada pekerjaan yang lebih strategis. Pada konteks RTA, software bots akan melakukan pengujian fungsional aplikasi berdasarkan pada script yang telah dibuat, sehingga eksekusi testing dapat dilakukan dengan lebih cepat dibandingkan dengan dilakukan secara manual dengan catatan aplikasi yang diuji stabil, serta requirement dan test script sudah fix.

Pertanyaan yang sering timbul terkait dengan automation testing diantaranya adalah, kapan sebaiknya automation test digunakan dan tools apa yang dapat digunakan untuk melakukan automation testing. Automation testing pada umumnya digunakan salah satunya untuk melakukan regresi. Apa itu regresi? Regresi adalah pengujian yang dilakukan untuk memastikan bahwa perubahan kode atau program tidak memiliki efek samping pada fitur yang sudah ada. Automation testing sangat cocok untuk membantu regresi karena dapat mempercepat proses waktu eksekusi. Automation juga dapat digunakan untuk membantu generate data yang akan digunakan untuk melakukan manual testing, sehingga proses preparation data untuk manual testing dapat dilakukan dengan lebih cepat.

Seiring dengan perkembangan teknologi, banyak tools yang dapat digunakan untuk mendukung proses automation testing seperti Katalon, UFT, Selenium dan tools-tools automation lainnya. Untuk RTA, script dapat dibuat dan dijalankan oleh bots salah satunya dengan menggunakan tool UiPath.

Saat ini, Bank Mandiri telah mengimplementasikan RTA pada proses automation testing. Adapun penggunaan RTA pada Bank Mandiri di beberapa aplikasi adalah sebagai berikut:

Proses scripting dilakukan dengan menggunakan UiPath Studio. UiPath Studio digunakan untuk membangun workflow sesuai dengan langkah-langkah yang terdapat pada test script. Script workflow dapat dibangun dengan menggunakan recording atau dengan indicate object pada screen. Masing-masing object memiliki selektor yang berbeda. Terkadang, terdapat object dengan selektor yang nilainya dinamis, sehingga diperlukan pengecekan pada selektor ketika proses scripting untuk memastikan bahwa selektor yang kita gunakan dapat mengidentifikasi object pada aplikasi dengan benar. Apabila kita memerlukan selector dinamis pada object, misalnya terdapat list data pada halaman aplikasi dan kita ingin melakukan aktivitas click pada data tertentu, kita dapat menggunakan variable pada selektor object agar object data yang ingin kita click sesuai dengan test data.

Script untuk menyimpan screen capture dan validasi juga penting untuk ditambahkan pada workflow karena sebagai tester, kita harus memastikan bahwa aplikasi berjalan sesuai dengan yang diharapkan. Aktivitas yang dilakukan berulang dan digunakan pada fitur lainnya seperti login dan logout, dapat dibuat pada workflow terpisah dan di invoke pada workflow lainnya yang menggunakan aktivitas tersebut. Sehingga apabila terdapat perubahan pada alur login atau logout, kita hanya perlu merubah pada satu script workflow. Standarisasi penamaan variable dan argument juga sebaiknya dilakukan agar script menjadi lebih rapi. Masing-masing sequence dan activity pada script workflow juga dapat diberi keterangan deskripsi terkait aktivitas yang dilakukan, sehingga apabila ada penambahan field pada step tertentu, dapat lebih mudah untuk mencari step tersebut berada pada sequence mana didalam script workflow. Hal ini akan memudahkan kita untuk melakukan maintenance script automation.

Selain tes script, hal yang tidak dapat dipisahkan dari eksekusi testing adalah test data. Test data dapat disimpan pada file lokal maupun terpusat pada controller. Kelemahan apabila test data disimpan pada file lokal adalah apabila terdapat tester yang hendak menjalankan automation pada laptop atau PC yang berbeda, maka harus duplikat file test data dan merubah path file test data pada script agar bots dapat membaca file test data tersebut. Saat ini, test data, test case dan verification point disimpan secara terpusat pada controller.

Lalu apa yang dimaksud dengan verification point? Verification point merupakan data yang digunakan untuk validasi hasil testing. Sebagai contoh, apabila kita hendak menguji fitur login pada aplikasi, kita akan menggunakan kombinasi test data untuk menguji scenario test positif dan negatif. Untuk scenario test positif, kita perlu memastikan bahwa login pada aplikasi berhasil dilakukan dan aplikasi menampilkan halaman home atau dashboard. Validasi dapat dilakukan dengan menggunakan spesifik kata yang muncul pada halaman home aplikasi seperti tulisan “Welcome” atau object tertertu seperti menu user pada halaman aplikasi. Kata atau object tertentu yang tampil pada aplikasi, kita simpan sebagai expected result pada data verification point. Actual result yang kita dapatkan ketika menjalankan flow automation testing akan dicek apakah memiliki nilai yang sama dengan expected result pada verification point. Apabila hasil yang kita dapatkan sama, maka pengujian dapat dinyatan passed.

Untuk melakukan eksekusi flow automation yang telah didesain, kita perlu menggunakan UiPath Robot. Bots pada UiPath dibedakan menjadi dua yaitu bots yang membutuhkan trigger manusia untuk menjalankan proses automation dan bots yang dapat dijalankan dengan menggunakan scheduler atau pada kondisi tertentu.

Eksekusi workflow automation testing dapat dilakukan secara modular atau end to end. Untuk melakukan eksekusi workflow secara end to end, pada controller kita harus menentukan test case apa saja yang akan dieksekusi secara berurutan dalam satu kali running. Agar dapat menjalankan bots untuk eksekusi workflow automation pada controller, maka diperlukan agent pada PC dan mendaftarkan bots PC atau laptop yang akan digunakan pada controller. Informasi berupa path workflow directory dan nama workflow file juga perlu disimpan pada controller, sehingga bots dapat melakukan eksekusi workflow yang sesuai dengan test case yang ingin di jalankan.

Jadi dapat disimpulkan bahwa dengan menggunakan RTA, proses regresi dapat berjalan dengan lebih cepat, testing dapat dijalankan dengan menggunakan scheduler dan proses generate report hasil testing dapat dilakukan dengan otomatis. So, apakah kalian tertarik untuk menggunakan RTA dalam proses testing aplikasi?

--

--