Seberapa Penting Manual Testing dan Automation Testing
Hallo temen-temen, sering kali orang bertanya antara Manual Testing dan Automation Testing itu mana yang lebih penting sih. Oke biasanya pertanyaan ini dipertanyakan ke seseorang dengan responsibility tester atau QA (Quality Assurance) yang tiap harinya bergelut dengan pengetesan aplikasi, baik itu mobile base application, web base or desktop base. Sebelumnya apa sih QA/Quality Assurance itu? apa pekerjaannya dan apa tanggung jawabnya?
QA/Quality Assurance
QA/Quality assurance adalah seseorang yang bertanggung jawab untuk memastikan aplikasi atau software yang diciptakan atau dikembangkan oleh sebuah perusahaan dapat bekerja dengan baik sesuai harapan atau sesuai dengan SKPL (Spesifikasi Kualifikasi Perangkat Lunak), atau bisanya terdapat dokumen FSD (Functional Specification Document) dan BRD (Business Functional Document) yang dapat menjadi patokan atau pegangan selama pengujian, menyesuaikan kecocokan software dengan requirement. Pada proses awal atau pengembangan sebuah software/aplikasi, setelah seorang software developer selesai dalam proses development, seorang QA akan menjalankan proses mengujian terlebih dahulu, dengan metode Manual Testing.
Apa Tujuan Dari Pengetesan Yang Dilakukan Quality Assurance?
Tujuan dari proses pengujian ini adalah mencari error atau bugs dari sebuah software/aplikasi. Karena software/aplikasi yang sedang dalam tahap pengembangan biasanya terdapat banyak bugs, mulai dari tidak berfungsinya suatu fitur atau tidak ada respon ketika memproses sesuatu dalam software/aplikasi tersebut.
Dengan adanya paran sebagai Quality Assurance yang berfokus terhadap pengujian, seorang QA akan memastikan terlebih dahulu bahwa software/aplikasi sudah benar-benar bisa bekerja dengan baik sesuai dengan requirement yang sudah ditentukan sebelum launching. Seorang QA akan menguji dengan memposisikan dirinya sebagai seorang User.
Roles dan Responsibilities Quality Assurance
Tugas seorang Quality Assurance tidak hanya sebatas memeriksa, menguji coba dan memberikan suggest terhadap aplikasi/software. Seorang Quality Assurance memiliki beberapa roles dan responsibilities lainnya seperti :
- Membuat draf, mengintepretasikan, dan mengimplementasikan standar Quality Assurance dan standar dari software/aplikasi sesuai dengan requirement.
- Mencatat semua hasil pengujian dan temuan-temuan dari error atau bugs selama proses berlangsungnya pengujian software/aplikasi.
- Mengevaluasi regulasi yang sudah ada demi memastikan protokol Quality Assurance telah sesuai.
- Memastikan kembali kualitas software/aplikasi telah diuji coba dan sesuai dengan requirement.
Oke kita lanjut ke pembahasan tentang seberapa penting Manual Testing dan Automation Testing.
Manual Testing
Manual testing merupakan metode klasik dari proses pengujian, seorang manual tester akan mengecek semua fitur dari software/aplikasi. Dalam proses manual testing, seorang tester membuat test scenario dan membuat dokumentasi dari proses pengujian tersebut. Tetapi bukan berarti manual testing harus ditinggalkan, karena meskipun terkesan primitif, manual testing masih tetap dibutuhkan oleh banyak perusahaan. Karena kebanyakan aplikasi, tetap harus melalui pengujian secara manual sebelum masuk ke proses pengujian secara otomatis. Pengujian manual membutuhkan lebih banyak upaya dan perlu dilakukan untuk memeriksa kelayakan otomatisasi. Menjadi seorang Manual Tester pun tidak mudah, pasalnya seorang tester harus mempunyai pengetahuan tentang karakter umum tentang suatu aplikasi/software, memiliki ketelitian, memiliki skill/pengetahuan juga untuk menuliskan scanario test bahkan scenario UAT. Lalu apa itu Automation Testing?
Automation Testing
Automation Testing merupakan proses pengetesan yang dilakukan oleh seorang Quality Assurance Automation, dengan menuliskan code/script pengujian 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 Automation untuk menentukan apakah suatu aplikasi berfungsi sebagaimana yang diharapkan atau tidak. Kelebihannya testing automation dibuat agar seorang tester tidak melakukan testing secara berulang-ulang karena ada perubahan dari pihak developer. Proses Automated ini tetap harus melalui Manual Testing, karena untuk menjalankan testing automation suatu software/aplikasi harus stable, atau tidak terpentok-pendok dengan error/bugs. Untuk toolsnya sendiri, biasanya Automation Testing menggunakan tools antaranya Selenium, TestingWhiz, HPE Unified Functional Testing, TestComplete, Ranorex, Sahi, Watir, Tosca Testsuite, Telerik TestStudio atau Katalon Studio.
Kesimpulannya metode pengetesan manual testing dan automation testing keduanya mempunyai peran yang di butuhkan, untuk memasuki proses automation testing sebuah software/aplikasi harus tetap melalui proses manual testing dengan diuji langsung oleh seorang tester demi memastikan software/aplikasi yang akan di automated kan ini sudah stable dan manual testing juga memiliki peran yang cukup penting dalam pengembangan software/aplikasi karena seorang tester pada saat pengujian memposisikan dirinya sebagai user yang akan menggunakan software/aplikasi tersebut. Lalu untuk Automation Testing memiliki perah yang cukup penting dalam proses pengembangan aplikasi, pasalnya pengujian automation ini dilakukan secara terprogram, lalu menggunakan tools untuk mengontrol pelaksanaan proses pengujian, dapat mengotomatiskan beberapa tugas yang berulang tetapi perlu (misalnya kasus uji regresi), dapat mengotomatiskan beberapa tugas yang sulit dilakukan secara manual (misalnya skenario pengujian beban), script dapat berjalan dengan cepat dan berulang.