Kenapa perlu “Pengujian Otomatis”
Kehadiran teknologi modern menuntut kita sebagai pegiat startup untuk membuat ataupun memperbarui aplikasi kita dengan cepat ke khalayak ramai dan bisa menjadi manfaat bagi pengguna, karena itulah menjadi tantangan tersendiri bagi tester untuk bisa lebih intensif dalam proses pengujian aplikasi, agar bisa memberikan kualitas terbaik untuk pengguna.
Di belakang dapur aplikasi ini dibuat, sebenarnya banyak proses yang harus dijalani, dari hanya ide fitur hingga aplikasi itu siap untuk di lepas ke publik akan melalui proses kreatif yang iteratif (berulang-meningkat), sehingga seringkali tester harus menguji aplikasi yang tidak utuh karena development yang agile.
Ditambah dengan hal-hal yang harus menjadi perhatian selama proses testing berlangsung, seperti kebutuhan untuk aplikasi yang berjalan multi platform, lintas peramban, dan desain yang responsif/adaptif terhadap perangkat akan berimbas pada waktu pengujian yang lebih lama.
Benar sekali, hal-hal diatas adalah masalah yang dialami oleh pengujian aplikasi, karena tester akan menguji aplikasi manually sebagaimana persona pengguna aslinya. Untuk membantu mempercepat pengujian ini, tester akan membuat tools yang membantu dalam proses testing, lahirlah automation/automatic testing dimana kita menulis kode untuk membuat aplikasi yang menguji aplikasi :D
Pengujian otomasi menawarkan banyak keuntungan potensial, termasuk meningkatkan efisiensi proses pengujian aplikasi, solusi dari pengujian repetitif yang membosankan, dan pengujian kombinasi kemungkinan dari proses data yang besar akan sangat cocok dikerjakan oleh mesin untuk alasan konsistensi.
Memang tidak semua bisa di otomasi, tetapi ketika kita memiliki otomasi, tester bisa mengerjakan pengujian untuk fitur yang tidak bisa di otomasi, sehingga proses pengujian bisa lebih cepat.
Lalu tes macam apa yang bisa di otomasi?
Idealnya, semakin banyak test yang di otomasi akan semakin meningkatkan cakupan pengujian ke hal detail yang sering kali luput, namun nyatanya kita memiliki keterbatasan waktu dan sumber daya untuk melakukan semua nya, maka dari itu test yang memiliki prioritas lebih tinggi untuk di otomasi biasanya seperti:
Pengujian yang repetitif (Regression test)
Kasus pengujian seperti ini yang pada umumnya yang pertama di otomasi, pengujian dari fitur dasar aplikasi pada setiap build baru, sehingga bisa menyampaikan feedback hasil test kepada developer lebih cepat daripada eksekusi test secara manual
Pengujian aplikasi pada lintas platform
Dengan memiliki otomatisasi test ini akan meningkatakan cakupan pengujian aplikasi terhadap platform yang beragam. Ketika kode test telah dibuat, umumnya test ini bisa pula di eksekusi di platform yang beragam sekaligus
Pengujian GUI (tampilan) yang mendetail
Jika aplikasi yang diuji penuntut pengujian secara rinci dari tampilan antar muka aplikasi, seperti memastikan warna yang digunakan, ukuran element, jarak antar element, atau penyesuaian tampilan aplikasi ketika diakses perangkat tertentu (responsive/adaptive) maka membuat kode test untuk menguji GUI sangat cocok, karena akan merepotkan jika dilakukan manual
Proses data dan validasi
Pengujian berbasis data yang besar seringkali menjadi pilihan untuk di otomasi, pengujian yang harus membandingkan hasil pemrosesan aplikasi terhadap kombinasi data tertentu. Kemampuan untuk menjalankan pengujian secara berulang dengan data yang banyak akan sangat membantu menghemat waktu pengujian
Pengujian yang rumit
Dalam beberapa hal, biasanya ada kasus test yang memerlukan presisi pengujian yang cukup merepotkan jika dilakukan secara manual, seperti kasus untuk menguji respons aplikasi harus persis dalam jangkauan waktu yang sudah ditentukan.
Keuntungan automation test ini berbanding lurus dengan kode yang harus di maintain, dan memerlukan invenstasi di awal untuk membuat kerangka kerja yang solid, sehingga bisa digunakan kembali, sehingga bisa membuat solusi test otomatis dengan cepat di masa depan.
Sementara itu pengujian otomasi, memang pada awalnya nampak memerlukan lebih banyak waktu, terutama di awal proses pembentukan kerangka kerja otomasi ini, namun telah terbukti menjadi pendekatan yang efekti dalam jangka panjang, baik dari segi waktu dan sumber daya.
Ada banyak tools automation test di luar sana, dari yang perbayar sampai gratis, semua memiliki kelebihan-kekurangan dan penggemar tersendiri, namun saya sendiri lebih memilih Katalon sebagai automation tools kita karena kemudahan penggunaan dan tidak menuntut pengguna nya untuk paham koding secara dalam, namun cukup fleksibel jika pengguna ingin mengakses kode untuk menciptakan solusi powerful dengan basis bahasa pemrograman groovy ataupun java
Pada intinya otomasi pengujian hanyalah sebuah alat untuk membantu tester dalam proses pengujiannya, karena kemampuan critical thinking dari tester berperan penting dalam menjaga kualitas dari aplikasi. karena pembuatan aplikasi teknologi adalah untuk digunakan manusia, yang memiliki karsa bukan robot yang terbatas pada kemampuan penulisan kode.
Ide untuk menggantikan proses tester dengan robot yang lahir dari kode program, tidak akan terjadi dalam waktu dekat, selama kita belum mampu membuat kecerdasan buatan dimana kode bisa menulis kode sendiri :)
Kenapa perlu “Pengujian Otomatis” was originally published in TesterGadungan on Medium, where people are continuing the conversation by highlighting and responding to this story.