Automation Test dan Manual Test, Mana yang Lebih Dibutuhkan?

Fitri Zakiyah
3 min readSep 6, 2018

--

Dari bahasanya aja udah ketauan ya. Automation test sama manual test, yang berarti kalau auto itu ada program yang menjalankan sedangkan kita tinggal setup aja, trus kalau manual tidak ada tools apapun, aplikasi langsung berhadapan dengan user/tester. Kedua-duanya masuk kedalam bentuk pengujian aplikasi yang dilakukan oleh seorang QA Engineer dan tester untuk menemukan bug dalam perangkat lunak yang sedang dikembangkan.

Manual testing adalah metode klasik dari semua jenis pengujian, tester akan memeriksa semua fitur penting dari aplikasi atau perangkat lunak. Dalam proses manual testing, software tester menjalankan kasus uji dan membuat dokumentasi dari pengujian tersebut. Tapi bukan berarti manual testing itu harus ditinggalkan, meskipun terkesan primitif, manual testing masih tetap dibutuhkan. Karna kebanyakan aplikasi harus diuji secara manual sebelum diuji secara otomatis. Pengujian manual membutuhkan lebih banyak upaya dan perlu dilakukan untuk memeriksa kelayakan otomatisasi.

Mitos dan fakta terkait dari manual testing dan automated testing:

MITOS

  • Siapa pun dapat melakukan manual testing
  • Testing memastikan produk bebas bug 100%
  • Automated testing lebih kuat daripada manual testing
  • Testing itu mudah

FAKTA

  • Testing membutuhkan banyak keahlian
  • Testing mencoba menemukan sebanyak mungkin bug. Mengidentifikasi semua kemungkinan bug tidak mungkin dilakukan
  • Automated test 100% tidak bisa dilakukan. Manual testing juga penting
  • Testing bisa jadi sangat sulit. Pengujian aplikasi untuk use case dengan kemungkinan minimum test case membutuhkan keterampilan analitis yang tinggi

Automated testing sendiri merupakan bentuk dari testing yang mana seorang QA engineer menulis code/script uji untuk mengoptimasi pelaksanaan testing. Untuk melakukan automated testing, diperlukan tools yang tepat untuk mendukung pengujian berdasarkan aplikasi atau perangkat lunak yang sedang dikembangkan. Automated testing sepenuhnya bergantung pada pra-scripted test yang berjalan secara otomatis untuk membandingkan hasil aktual dengan hasil yang diharapkan. Hal tersebut membantu QA engineer untuk menentukan apakah suatu aplikasi berfungsi sebagaimana yang diharapkan atau tidak. Kelebihannya testing otomatis dibuat agar seorang tester tidak melakukan testing secara berulang-ulang karna ada perubahan dari pihak tim developer. Ya walau gimanapun, dalam pembuatan test script tidak sesusah membangun aplikasinya.

Berikut perbandingan antara automated test dengan manual test

PARAMETER: Definisi

  • Automated test: Menggunakan tools testing untuk eksekusi test case
  • Manual tes: Hanya dilaksanakan langsung oleh tester kpd aplikasi

PARAMETER: Waktu proses

  • Automated test: Signofikan lebih cepat
  • Manual tets: Memakan waktu dan membutuhkan SDM

PARAMETER: Pengujian eksplorasi

  • Automated test: Otomatisasi tidak bisa dilakukan dengan acak
  • Manual test: Eksplorasi memungkinkan dalam manual testing

PARAMETER: Investasi awal

  • Automated test: Lebih tinggi
  • Manual test: Lebih rendah

PARAMETER: Keandalan

  • Automated test: Metode testing yang diandalkan
  • Manual test: Pengujian bisa jadi tidak akurat karena ada kemungkinan kesalahan manusia

PARAMETER: Perubahan UI

  • Automated test: Perubahan sepele di UI dari AUT, script test perlu dimodifikasi terlebih dahulu
  • Manual test: Perubahan kecil seperti id, class, dan lain-lain tidak akan menggalkan eksekusi manual testing

PARAMETER: Uji Visibilitas Laporan

  • Automated test: Semua pihak dapat masuk ke sistem automated testing dan memeriksa hasi uji eksekusi
  • Manual test: Test manual biasanya direkam dalam excel atau word dan hasil test tidak tersedia

PARAMETER: Human Observation

  • Automated test: Tidak melibatkan pertimbangan user/tester. Jadi tidak pernah bisa memberikan jaminan user friendly dan user experience yang positi
  • Manual test: Berguna untuk menawarkan sistem yang user friendly

PARAMETER: Pengujian Kinerja

  • Automated test: Performa test seperti load testing, stess testing, spike testing etc, wajib dilakukan secara automated testing
  • Manual test: Pegujian kinerja tidak begitu terlihat

PARAMETER: Eksekusi Paralel

  • Automated test: Dapat dijalankan pada platform berbeda secara parallel dan mengurangi waktu eksekusi uji
  • Manual test: Dapat dilakukan secara parallel tetapi membutuhkan SDM lebih

PARAMETER: Programming Knowledge

  • Automated test: Keahlian dalam programming wajib dimiliki seorang QA engineer
  • Manual test: Tidak membutuhkan keahlian Bahasa pemograman

PARAMETER: Set up

  • Automated test: membutuhkan pengaturan pelaksanaan tes yang lebih complex
  • Manual test: Memiliki pengaturan test yang lebih mudah

PARAMETER: Engagement

  • Automated test: Dilakukan dengan tools, akurat dan tidak membosankan
  • Manual test: Dapat membosankan dan cenderung error

PARAMETER: Devops

  • Automated test: Membantu dalam membangun verification testing dan merupakan integral dari devops cycle
  • Manual test: Pengujian manual mengalahkan prinsip otomatis build devops

PARAMETER: Kapan harus digunakan?

  • Automated test: Cocok untuk Pengujian Regresi, Pengujian Kinerja, Pengujian Beban atau kasus uji fungsional berulang yang sangat tinggi
  • Manual test: Cocok untuk Pengujian Eksplorasi, Kegunaan, dan Adhoc. Ini juga harus digunakan di mana AUT sering berubah.

Diluar perbedaan automated test dan manual test, sudah saya sebutkan bahwa keduanya sangat penting dalam testing aplikasi itu sendiri. ibaratnya taman tanpa bunga, hampa tanpa melengkapi hahaha

Sejauh ini saya masih mempelajari keduanya, untuk postingan berikutnya saya akan menulis tentang tools dan setup tools yang digunakan untuk automated test. Trimakasih telah membaca 😊

--

--