MQA Goes To Campus [Part 3] — “Automated Test”

Amalia Damayanti
NgalamBackend
Published in
5 min readMar 25, 2019
Pemateri kedua yaitu Fathur Rohim sedang menyampaikan tentang konsep Automate Test

STMIIK Asia Malang merupakan kampus terakhir yang dikunjungi dalam kegiatan MQA Goes To Campus. Tepat tanggal 24 Maret 2019, MQA mengundang dua pemateri untuk berbagi tentang Automate Test. Pemateri pertama dari perusahaan Kata.ai yaitu Fahmi Idris selaku Frontend Engineer. Sedangkan pemateri kedua dari perusahaan DOT Indonesia yaitu Fathur Rohim selaku QA Engineer. FYI, beliau ini sekarang adalah Lead dari Komunitas Ngalam Backend Community loh.

Kali ini aku akan sharing ke kalian tentang apa aja yang di bahas sama pemateri kedua, yaitu dari Fathur Rohim alias kak Oim. Hayo, Siapa yang penasaran?? hehehe

Oke deh, ini aku kasih garis besar yang akan dibahas disini, antara lain Apa itu Automated Test, Seberapa penting penerapan Automated Test, Kenapa kita butuh Automated Test, Apa yang harus diuji menggunakan Automated Test, Dikondisi apa Automated Test tidak cocok diterapkan, Bagaimana proses untuk mengimplementasikan Automated Test, Tool apa saja yang bisa digunakan untuk Automated Test, dan Macam-macam Framework Testing.

Automated Test / Pengujian Otomatis

Apa itu Automated Test?

Automated test atau pengujian otomatis adalah pengujian yang menggunakan tool/alat untuk membantu kinerja pengujian manual yang dilakukan oleh manusia itu sendiri (manual test). Konsepnya sama dengan pengujian manual yaitu menjalankan pengujian berdasarkan Test Case yang telah dibuat sebelumnya pada Scenario Test dan User Story, tetapi dalam pengujian otomatis kita juga dapat memasukkan data kedalam perangkat yang sedang kita uji (web/ mobile), selanjutkan kita juga dapat membandingkan atau mereview dari aktual yang diharapkan serta mendapatkan hasil laporan pengujian yang lebih terperinci.

Seberapa penting penerapan Automated Test?

Karena ia mampu mengurangi banyaknya jumlah pengujian yang dilakukan secara manual.

Ingat!!

Pengujian otomatis tidak 100% dapat menggantikan pengujian manual. Karena ada beberapa case yang tidak dapat diuji secara otomatis. Contohnya, typo (kesalahan penulisan) konten/judul yang ada di sebuah website atau aplikasi mobile.

Kenapa kita butuh Automated Test?

  1. Pengujian manual memakan banyak waktu dan biaya
    Ketika kita akan melakukan pengujian pada suatu aplikasi, faktornya banyak sekali yang perlu kita uji yang mana dari faktor tersebut harus sesuai dengan workflow (user story dan scenario test), semua bidang (fields) dan memakan banyak waktu dikarenakan pengujian dilakukan secara berulang-ulang hingga aplikasi tersebut layak untuk lolos dari test.
  2. Sulit menguji website yang dibangun menggunakan beberapa bahasa pemrograman
    Ada kasus yang mana website tersebut menggunakan bahasa lebih dari satu, apabila dilakukan secara manual itu sangat membuang waktu, dan lebih mudah dilakukan secara otomatis dengan menuliskan source code tertentu.
  3. Pengujian otomatis tidak memerlukan intervensi manusia
    Dengan pengujian otomatis kita tidak perlu bersusah payah melakukan monitoring setiap waktu. Pengujian otomatis dapat menjalankan hal tersebut seperti monitoring setiap siang dan malam dan kita hanya perlu mengecek hasilnya di esok hari atau disaat ingin memeriksanya.
  4. Meningkatkan kecepatan pelaksanaan pengujian dan jangkauan pengujian
    Pengujian otomatis dapat meningkatkan kecepatan dari pengujian yang kita lakukan berdasarkan Test Case, kemudian dapat kita lakukan dalam jangka panjang, dan dapat menguji suatu Test Case yang tidak mampu dilakukan secara manual.
  5. Meminimalisir kesalahan pengujian
    Dampak dari pengujian otomatis yaitu mampu meminimalisir kesalahan pengujian. Berbeda dengan pengujian secara manual yang akan sangat membosankan ketika melakukan pengujian yang berulang-ulang sehingga rawan terjadi kesalahan.

Apa yang harus diuji menggunakan Automated Test?

Aplikasi yang dapat di uji secara otomatis yaitu salah satunya yang dapat di uji secara berulang kali. Uji kasus yang membosankan dan tidak memungkinkan untuk dilakukan secara manual. Pengujian yang memakan waktu lama. Serta aplikasi yang memiliki resiko tinggi sehingga diperlukan automate test.

Dikondisi apa Automated Test tidak cocok diterapkan?

Ketika Test Case tersebut baru dirancang, maksudnya adalah aplikasi yang dibuat belum benar-benar siap untuk diuji. Selain itu juga aplikasi yang mana memiliki fitur yang berubah-ubah dan tidak tetap, karena itu sangat membebani pengujian otomatis yang telah kita buat sebelumnya.

Bagaimana proses untuk mengimplementasikan Automated Test?

  1. Pemilihan tool
    Untuk tool yang akan digunakan diharapkan mudah dipahami dan sesuai dengan standard perusahaan. Karena, setiap perusahaan terkadang telah menetapkan tool apa saja yang digunakan untuk pengujian otomatis.
  2. Menentukan scope (ruang lingkup) pengujian otomatis
    Sistem yang akan di uji perlu ditentukan dulu ruang lingkupnya seperti apa dan bagaimana. Apabila sistem yang diuji bisa di atasi secara manual dan tidak membutuhkan pengujian otomatis sebaiknya tidak perlu dilakukan. Misalnya, mengenai UI/UX yang hanya memerlukan pengujian secara manual yang mana melibatkan campur tangan manusia, hal seperti itu tidak membutuhkan pengujian otomatis.
  3. Perencanaan, desain, dan pengembangan
    Untuk melakukan pengujian otomatis tidak berbeda jauh dengan pengujian secara manual dalam tahap perencanaannya dan desain. Namun, untuk pengembangannya (development) itu berbeda. Misalnya, sebelum kita akan melakukan pengujian otomatis kita juga harus menentukan User Story dan Scenario Test-nya, yang nantinya menjadi panduan kita untuk development dalam membuat sebuah Test Case tersebut.
  4. Eksekusi
    Tahap selanjutnya setelah development yaitu eksekusi. Eksekusi adalah sebuah perintah untuk menjalankanTest Case yang telah kita buat untuk menghasilkan sebuah output yang nantinya memberitahu kita apakah aplikasi tersebut mengalami kegagalan (error, bug) ataukah sukses. Namun, eksekusi ini ketika memberikan output akan 2 kesalahan yang berbeda. Kesalahan pertama bisa jadi dari aplikasi yang di test atau yang dikerjakan developer-nya dan yang kedua adalah kesalahan dari Test Case yang dibuat oleh QA Engineer-nya.
  5. Pemeliharaan
    Tahap terakhir yaitu pemeliharaan, karena aplikasi yang dibuat tidaklah sempurna 100%. Akan ada kurun waktu dimana aplikasi memiliki bug yang lolos dari test, cara termudahnya adalah kita memasang sebuah aplikasi monitoring terhadap aplikasi kita contohnya saja menggunakan sentry.io atau untuk API bisa menggunakan Collection Runner.

Tool apa saja yang bisa digunakan untuk Automated Test?

Ada 3 (tiga) hal dalam pemilihan tool, antara lain:

  • Mudah Digunakan,
  • Dukungan untuk berbagai jenis tes, dan
  • Dukungan untuk beberapa kerangka kerja pengujian (testing framework).

Macam-macam Testing Framework?

Ada 4 (empat) jenis testing framework diantaranya yaitu :

  1. Data Driven Automation Framework
    Melakukan pengujian fungsionalitas yang berhubungan langsung dengan database atau file eksternal. Tergantung dari spesifikasi pengujiannya. Sehingga, script test yang dibuat tersebut harus sesuai dengan key-value dari database tersebut.
  2. Keyword Driven Automation Framework
    Seperti judulnya, pengujian ini berdasarkan dari kata kunci dari object aplikasi tersebut. Misalnya saja pada form yang tersedia di aplikasi tersebut kita ingin memanggil beberapa field (anggap saja 2 field) yaitu username_input dan fullname_input, nah dari 2 field tersebut bisa kita ambil keyword-nya misal untuk username_input = //*[@id=’username’] dan untuk fullname_input = //*[@id=’fullname’] untuk keyword object ini dapat di ambil pada browser dengan cara inspect element atau pada mobile kita bisa melakukannya dengan spy object.
  3. Modular Automation Framework
    Sederhanannya pengujian dengan kerangka seperti ini yaitu melakukan pengujian dengan full test dengan aplikasi yang akan di tes. Mulai dari tahap awal hingga akhir secara berurutan.
  4. Hybrid Automation Framework
    Hybrid adalah sebuah kerangka kerja yang menghubungkan semua pengujian otomatis yang telah disebutkan diatas. Contoh Tool: Katalon Studio.

Berikut slide yang dapat kalian baca.

PPT Automate Test by Fathur Rohim

Kesimpulan…

Kelebihan :

  • Tidak memakan banyak waktu dan biaya,
  • Mampu menguji website yang dibangun menggunakan beberapa bahasa pemrograman,
  • Tidak memerlukan intervensi manusia,
  • Dapat kita lakukan dalam jangka panjang, dan meminimalisir kesalahan pengujian.
  • Cocok untuk aplikasi yang butuh diuji secara berulang kali

Kekurangan :

  • Tidak mampu mengoreksi typo konten dalam web/aplikasi
  • Tidak mampu menguji dari segi UX
  • Tidak cocok untuk aplikasi berskala kecil
  • Tidak cocok diterapkan di aplikasi yang belum benar-benar siap untuk diuji
  • Tidak cocok menguji aplikasi yang memiliki fitur yang berubah-ubah

Jangan sampai ketinggalan informasi kegiatan dari kegiatan MQA dan NBC yaa…

Keep in touch with Ngalam Backend Community on Twitter NBC, Facebook NBC, Telegram NBC Group, Whatsapp NBC Group, Instagram NBC

Keep in touch with Malang Quality Assurance on Whatsapp MQA, dan Instagram MQA, Facebook MQA

--

--