Apa Itu QA Automation ? Apakah LENMARC MEGASOFT menggunakan ini?



Apa Itu QA Automation ? Apakah LENMARC MEGASOFT menggunakan ini?

QA Automation Engineer – Semua perusahaan dari yang kecil sampai yang unicorn berlomba-lomba terus membuat berbagai aplikasi.

Dari aplikasi-aplikasi yang sudah terkenal dan digunakan masyarakat luas seperti Ovo, Grab, Go-Pay, Dana, LinkAja, Traveloka, sampai yang nyeleneh seperti aplikasi prank kentut juga dibuat !

 

Sebenarnya kunci agar perusahaan bisa terus maju di tengah tren digitalisasi besar-besaran seperti ini adalah perusahaan harus bisa bergerak lebih cepat dari kompetitor. Harus lebih cepat dalam arti seperti apa ?

  1. Harus lebih cepat membuat aplikasi yang bagus daripada kompetitor
  2. Harus lebih cepat memahami kebutuhan customer dibanding kompetitor
  3. Harus lebih cepat membuat fitur baru sesuai kebutuhan customer dibanding kompetitor
  4. Harus lebih cepat rilis aplikasi / fitur ke customer dibanding kompetitor

Kenapa ini penting ? Coba kita lihat kasus Gojek vs Uber 1-2 tahun yang lalu.

Uber adalah perusahaan raksasa yang sudah beroperasi beberapa tahun lebih dulu, sudah beroperasi di puluhan negara, dan memiliki sokongan dana yang jauh lebih besar dari Gojek. Ibarat Gajah vs Semut, seharusnya dengan mudah Uber dapat mengalahkan Gojek. Tapi ternyata tidak, justru Uber yang kalah dari persaingan.

Momentum Uber hengkang dari Indonesia
Momen saat Uber hengkang dari Indonesia

Kenapa bisa ? Karena Gojek jauh lebih cepat segala-galanya dari Uber. Gojek dengan cepat memahami kebutuhan customer di Indonesia dan dengan cepat merilis fitur dan aplikasi yang benar-benar solve that problem !

Dalam rentang waktu yang sama, Gojek merilis Go-Pay, Go-Food, Go-Send, Go-Massage, Go-Auto, dan beberapa Go lainnya, sedangkan Uber hanya berhasil merilis Uber Motor saja. Alhasil, customer di Indonesia lebih memilih Go-Jek.

- saat itu ada juga selentingan UBER pergi karena perlu nilai perusahaan baik dan sebagainya untuk menghaluskan kesan sampai akhirnya menyerahkan ke GRAB. (bisa baca https://www.cnnindonesia.com/teknologi/20180325200256-185-285800/uber-resmi-serahkan-bisnis-ke-grab)

Banyak lagi contoh kasus lainnya seperti Bank BTPN yang tidak terlalu terkenal tiba-tiba bisa meledak & booming dengan aplikasi Jenius, atau Bioskop CGV yang tiba-tiba menjamur di seluruh Indonesia karena lebih cepat men-digitalisasi sistem pesan tiket bioskopnya dibanding kompetitornya, XXI.

Hasil gambar untuk jenius
Aplikasi Jenius milik BTPN yang fenomenal

Percayalah, ini bukan lagi tren. Tapi memang seluruh dunia sedang bertransformasi ke era digital. Perusahaan yang ingin menang, yang ingin maju, yang ingin mengalahkan kompetitornya, harus melakukan ini.

Komposisi Tim Terbaik dan Ideal

Agar perusahaan bisa sangat cepat dalam pembuatan aplikasi, diperlukan komposisi tim yang tepat. Programmer, Product Manager, dan QA Engineer merupakan tim yang wajib ada.
Tugas-tugasnya adalah sebagai berikut :

1. Product Manager

Orang yang bertugas memahami kebutuhan Customer / User / Stakeholder, lalu menuangkannya dalam bentuk requirement yang nantinya akan dikerjakan oleh Programmer.

2. Programmer / Developer

Orang yang membuat ( coding ) aplikasi / fitur berdasarkan requirement dari Product Manager.

3. QA Engineer / Tester

Orang yang menguji apakah aplikasi / fitur yang dibuat programmer sudah sesuai requirement awal dan tidak ada bug.

QA Automation Engineer : Komposisi tim terbaik untuk membuat aplikasi
Ilustrasi gambaran pekerjaan masing-masing tim

Mungkin Anda bertanya seperti ini “Sebentar, kalau Programmer mungkin saya sudah cukup paham kerjaannya. Tapi QA Engineer masih belum cukup terbayang. Boleh dijelaskan lebih lanjut ?”

Baik, QA Engineer ini memang terhitung cukup awam di kalangan masyarakat, padahal kerjaan mereka sama pentingnya dengan para Programmer. Seperti apa sih gambaran kerjaan mereka ini ?

Kita ambil contoh Programmer akan membuat fitur Login User. Nah QA Engineer tugasnya membuat skenario-skenario untuk menyatakan bahwa fitur Login tersebut sudah sesuai dengan kebutuhan. Contoh skenarionya adalah sbb :

  1. Testing apakah jika di isi email & password yang sudah tersimpan di database lalu klik tombol Login, maka akan tampil pesan “Login berhasil”.
  2. Testing apakah jika di isi email & password yang tidak tersimpan di database lalu klik tombol Login, maka akan tampil pesan “Login Gagal”.
  3. Testing apakah setelah muncul pesan “Login Berhasil”, user akan diarahkan ke halaman “List Daftar Makanan” secara otomatis.
  4. Testing apakah jika email & password dikosongkan, akan muncul pesan “Harap isi Username & Password”.

Setelah fitur Login jadi, maka QA Engineer akan melakukan testing manual ( melakukan klik-klik, mengisi email dan password, melihat sendiri dengan mata apakah ada pesan error, dll ) sesuai skenario-skenario di atas.

Apabila ada yang masih belum sesuai, maka codingan akan dikembalikan lagi ke tim Programmer untuk diperbaiki. Proses akan terus diulang-ulang sampai seluruh skenario sudah dinyatakan lolos.

Ilustrasi cara kerja QA Engineer
Gambaran cara kerja QA Engineer

QA Engineer wajib ada, untuk memastikan para Programmer tidak ngoding secara asal sehingga program yang jelek dan banyak bug / error bisa lolos ke tangan Customer. QA Engineer wajib ada, untuk memastikan fitur & aplikasi yang sampai ke tangan customer benar-benar bagus dan berkualitas.

That’s it. Itulah gambaran pekerjaan seorang QA Engineer.

Memahami Kekurangan Waterfall

Sayangnya dengan komposisi tim yang tepat, tidak serta-merta membuat perusahaan lebih cepat dan unggul.

Ini dikarenakan banyak sekali perusahaan yang saat ini masih terjebak dengan cara kerja jadul, yaitu metodologi Waterfall. Dimana dalam pembuatan 1 aplikasi, akan di buat secara keseluruhan sekaligus dari awal sampai akhir. Gambaran metodologi waterfall adalah seperti berikut :

Gambaran metodologi Waterfall
Gambaran metode Waterfall

Cara ini memiliki beberapa kekurangan fatal. Dan kekurangan fatal ini menyebabkan perusahaan tidak akan bisa mengalahkan kompetitornya dengan cepat. Agar lebih paham apa kekurangan dari Waterfall, saya akan coba ceritakan bagaimana alur pembuatan 1 aplikasi menggunakan Waterfall :

“Perusahaan McDonald ingin membuat Aplikasi untuk pesan makanan secara online. Pembuatan aplikasi ini diperintahkan oleh Direktur Utama McDonald. Untuk itu McDonald menyiapkan 1 tim Development yang terdiri dari 2 Product Manager, 5 Programmer, dan 2 QA Engineer / Tester, dan ingin 1 aplikasi ini seluruhnya diselesaikan dalam 1 tahun dengan budget 1 Miliar Rupiah.”

Dan proses development pun dimulai.

Bulan 1

1 bulan pertama Product Manager akan banyak sekali berkomunikasi dengan Direktur Utama dari McDonald untuk benar-benar memahami seperti apa kebutuhan dari aplikasi ini. Seperti apa kira-kira alurnya, fitur apa saja yang dibutuhkan, referensi aplikasi sejenis, dll.

Setelah itu Product Manager membuat sebuah dokumen berisi requirement lengkap dari A-Z yang akan diserahkan ke Programmer. Hasil requirementnya kira-kira seperti ini :

  1. Aplikasinya dapat diakses di Android
  2. User bisa registrasi
  3. User bisa login
  4. User bisa mencari daftar makanan & minuman
  5. User bisa pesan makanan & minuman
  6. User bisa bayar
  7. User bisa track proses pengiriman makanan & minuman
  8. User bisa dapat konfirmasi bahwa makanan & minuman telah diterima
  9. User bisa dapat sistem reward poin
Gambaran proses requirement
Gambaran proses requirement

Bulan 2 – 7

Programmer bekerja keras setiap hari membuat coding seluruh fitur sesuai requirement. Mereka berbagi tugas, ada yang mengerjakan fitur login, ada yang mengerjakan fitur pesan makanan, dll. Semua dikerjakan sampai beres.

Gambaran proses pembuatan seluruh fitur aplikasi
Proses build seluruh fitur aplikasi

Bulan 8

Setelah dirasa semua fitur beres, para Programmer menyerahkan ke QA Engineer untuk di tes apakah fitur tersebut sudah bebas bug dan sudah sesuai requirement yang diberikan.

Selama 1 bulan QA Engineer akan melakukan testing secara manual pada seluruh aplikasi dan fitur-fiturnya. Melihat secara desainnya, letak tombolnya, melakukan klik-klik tombolnya, mencoba registrasi menggunakan email yang salah, mencoba password yang aneh, mencoba pesan makanan, mencoba konfirmasi pesanan dll, pokoknya untuk mengetes kira-kira ada kasus-kasus tertentu yang menimbulkan bug atau tidak. Semuanya secara manual.

Apabila ada bug atau ada sesuatu yang belum sesuai requirement, misalnya ternyata ketika di klik tombol Register muncul pesan error, maka QA Engineer akan mengembalikan codingan tersebut ke Programmer untuk diperbaiki.

Bulan 9

Selama 1 bulan, Programmer melakukan seluruh perbaikan yang dibutuhkan. Lalu menyerahkan ulang codingan ke QA Engineer untuk di test kembali apakah masih ada bug atau tidak.

Bulan 10

Selama 1 bulan, QA Engineer melakukan testing ulang. 80% seluruh bug dan ketidaksesuaian sudah berhasil diperbaiki. Namun ternyata masih ada 20% bug-bug kecil yang masih muncul. Maka tim QA Engineer akan membuat kembali daftar requirement yang perlu diperbaiki oleh para Programmer.

Bulan 11

Selama 1 bulan, Programmer melakukan perbaikan lagi sisa-sisa bug yang ada. Lalu menyerahkan ulang ke QA Engineer.

Bulan 12

Selama 20 hari, QA Engineer melakukan testing terakhir dan akhirnya hasilnya sudah bagus seluruhnya.

Gambaran proses testing aplikasi tahap akhir
Gambaran proses bulan 8 – 12 dimana terjadi testing dan perbaikan

Di 10 hari terakhir, seluruh tim melakukan rapat koordinasi dan melakukan berbagai proses untuk rilis aplikasi ke publik.

Gambaran proses rilis aplikasi ke publik
Proses rilis aplikasi ke publik

Dari seluruh proses dia tas, menurut Anda apa saja kekurangan fatal yang ada ? Saya coba jabarkan dibawah ini :

1. Banyak Proses Yang Tidak Efektif

Contohnya : apa yang dilakukan QA Engineer selama bulan ke 2 – 7 saat Programmer membuat seluruh fitur ? Nganggur ? Yes. Mereka benar-benar nganggur dan hanya menunggu saja !

2. Aplikasi Bisa Jadi Tidak Berguna

Yang memerintahkan pembuatan aplikasi ini adalah Direktur Utama McDonald, bukan dari kebutuhan pelanggan McDonald. Bagaimana kalau asumsi Direktur Utama salah ? Bagaimana kalau setelah di rilis para pelanggan tidak menggunakannya ? Bukankah ini artinya seluruh uang, waktu dan tenaga selama 1 tahun terakhir terbuang percuma ?

Metode Waterfall sangat beresiko untuk diterapkan, karena bisa saja membuang banyak uang, waktu dan tenaga untuk aplikasi yang ( mungkin saja ) tidak akan pernah digunakan oleh Customer.

Quote sindiran untuk metode Waterfall
Quote yang paling tepat menggambarkan metodologi Waterfall

Faktanya, penggunaan metode Waterfall di industri sudah sangat tidak relevan di era yang serba cepat saat ini. Dan oleh karenanya banyak perusahaan yang beralih ke metodologi Agile.

Metodologi Agile : Kelebihan & Kekurangannya

Secara sederhana, metodologi Agile selalu mengedepankan prinsip dimana aplikasi / fitur yang di buat haruslah benar-benar yang bermanfaat dan akan digunakan oleh customer / user.

Caranya ?

  1. Alih-alih melakukan pembuatan aplikasi selama 1 tahun baru di rilis ke customer, Agile akan rilis ke customer dalam rentang waktu secepat dan sesegera mungkin. Biasanya per 2-4 minggu ( disebut per Sprint ).
  2. Alih-alih membuat 10 fitur sekaligus baru kemudian di rilis, Agile membuat per 1 atau 2 fitur yg bisa dikerjakan dalam 1 Sprint saja, lalu langsung rilis ke customer, perbaiki, rilis lagi, baru lanjut ke fitur berikutnya.

Gambaran metodologi Agile adalah sebagai berikut :

QA Automation Engineer : Ilustrasi metodologi Agile
Gambaran metodologi Agile

Cara ini benar-benar meminimalisir kekurangan dari Waterfall. Jauh lebih cepat dan efektif, serta aplikasi yang di rilis kemungkinan benar-benar akan digunakan oleh customer / user. Apabila dengan case pembuatan aplikasi pesan makanan online McDonald seperti sebelumnya, maka ceritanya menjadi begini :

“Pertama-tama seluruh tim sepakat per 4 minggu sekali ( per Sprint ) tiap fitur yang dikerjakan akan langsung di rilis ke customer.” Dan proses development pun langsung dimulai.

Bulan 1, Minggu 1

Product Manager melakukan riset ke customer terkait fitur apa yang paling penting dikerjakan paling pertama. Setelah itu Product Manager membuatkan requirement lengkapnya dan menyerahkannya ke tim Programmer. Dari hasil riset, requirement awal yang paling penting hanyalah fitur Login & Registrasi.

QA Automation Engineer : Proses requirement menggunakan metode Agile
Gambaran proses requirement oleh Product Manager

Catatan : terkadang jika penerapan Agile dibarengi dengan Scrum, maka ada istilah baru yaitu Product Owner. Product Owner & Product Manager punya beberapa aspek yang sama dan berbeda. Tapi untuk menyederhanakan, kita tetap akan menggunakan istilah Product Manager. Untuk lebih tahu perbedaan Product Owner & Product Manager bisa googling saja.

Bulan 1, Minggu 2

Programmer melakukan coding terhadap fitur login & registrasi saja. Dikerjakan sampai beres.

QA Automation Engineer : Proses build fitur Registrasi & Login
Proses build fitur Registrasi dan Login

Bulan 1, Minggu 3,

Tim QA Engineer melakukan testing code para Programmer selama 1 minggu full secara manual. Mereka akan klik satu per satu tombol dan mengetest skenario-skenario kegagalan dan keanehan user saat login dan registrasi. Misalnya coba mengisi email tanpa @, coba klik tombol registrasi apakah benar data email user tersimpan, dll.

Bulan 1, Minggu 4

Tim Programmer mengerjakan berbagai perbaikan yang diberikan oleh tim QA Engineer, jika sudah, diberikan ulang ke tim QA Engineer. Tim QA Engineer melakukan testing ulang terhadap perbaikan dari tim Programmer secara manual. Jika sudah beres semua, maka fitur dapat di rilis ke Customer.

Gambaran proses testing dan perbaikan
Gambaran proses testing sebelum rilis

Di akhir minggu, biasanya 1-2 hari terakhir Product Manager melakukan testing ke customer apakah fitur tersebut sudah sesuai kebutuhan atau belum. Ternyata disini kasusnya customer sudah cukup puas terhadap fitur yang dibuat.

Proses rilis di akhir minggu kedua
Proses pemeriksaan akhir & rilis aplikasi

Sudah cukup terbayang ? Sekarang kita coba masuk ke bulan 2 dari cerita di atas :

Bulan 2, Minggu 1

Product Manager melakukan riset kembali ke customer terkait fitur apa yang paling penting dikerjakan berikutnya. Ternyata yang paling penting berikutnya adalah fitur : list daftar makanan & minuman yang bisa dipesan.

Proses requirement menggunakan metode Agile
Proses Requirement bulan kedua

Bulan 2, Minggu 2

Programmer melakukan coding terhadap fitur List Daftar Makanan & Minuman.

Proses build fitur list makanan
Proses build fitur list makanan

Bulan 2, Minggu 3

Tim QA Engineer melakukan testing selama 1 minggu full secara manual. Tim Programmer memperbaiki, lalu Tim QA Engineer melakukan testing ulang. Jika sudah beres semua maka, fitur dapat dirilis ke Customer.

Gambaran proses testing dan perbaikan
Gambaran proses testing sebelum rilis

Bulan 2, Minggu 4,

Product Manager melakukan testing ke customer apakah fitur tersebut sudah sesuai kebutuhan mereka atau belum. Kebetulan kasusnya customer sudah cukup puas terhadap fitur yang di buat.

Proses rilis di akhir minggu kedua
Proses pemeriksaan akhir & rilis aplikasi

Seluruh proses tersebut akan terus diulang hingga aplikasi selesai dibuat seluruhnya. Sudah mulai paham canggihnya metode Agile dibanding Waterfall ? Perusahaan yang menerapkan Agile biasanya dapat mendevelop aplikasi 2-4 kali lebih cepat, dan aplikasi yang dibuat pun kemungkinan besar pasti digunakan oleh Customer.

Kenapa bisa ? Proses testing dan rilis customer yang dilakukan lebih cepat dan lebih sering menyebabkan :

  1. Apabila ada kekurangan / kesalahan coding bisa diperbaiki secepat mungkin dan lebih mudah.
  2. Apabila ada ketidaksesuaian dengan kebutuhan user dapat diperbaiki secepat mungkin & lebih mudah.

Berbeda dengan Waterfall yang proses testing dan rilis ke customer sudah terlanjur terlalu kompleks, sehingga apabila ada kesalahan, butuh waktu yang lama untuk perbaikannya ( bahkan terkadang tidak bisa diperbaiki lagi ). Bayangkan memperbaiki aplikasi menggunakan metode Waterfall seperti membetulkan benang kusut sepanjang ini :

QA Automation Engineer : Analogi kerumitan metode Waterfall
Analogi kerumitan metode Waterfall

Sedangkan metode Agile seperti hanya membetulkan benang kusut per 1 meter, satu per satu seperti ini :

QA Automation Engineer : Analogi kemudahan metode Agile
Analogi kemudahan metode Agile

Ini yang menyebabkan perusahaan yang menerapkan Agile mulai bermunculan dimana-mana.

Tapi sayangnya, hype penerapan metode Agile di perusahaan masih terpusat ke tim Programmer saja. Tanpa melibatkan peran lain, khususnya tim QA Engineer. Jadi walaupun para Programmer sudah menerapkan Agile, tapi QA Engineer nya tidak. Sehingga masih sangat-sangat kurang efektif pada prakteknya.

Coba cerna kembali cerita diatas. Maka Anda akan bisa melihat kekurangan terbesar peran QA Engineer :

1. QA Engineer Ternyata Masih Nganggur

QA Engineer masih nganggur dalam 2 minggu pertama ! Hanya untuk menunggu Programmer beres bekerja menyelesaikan fitur. Sangat percuma dan tidak efektif bukan ?

2. Programmer Juga Nganggur Akibat Menunggu QA Engineer

Contoh diatas menunjukkan saat QA Engineer melakukan test selama 1 minggu full ( di minggu 3 ), yang artinya para Programmer juga akan nganggur selama 1 minggu.

3. Testing Yang Memakan Waktu Lama

Kenapa para QA Engineer bisa butuh waktu 1 minggu hanya untuk testing fitur ? Bayangkan kalau dalam 1 fitur Registrasi, QA Engineer perlu melakukan testing manual sekitar 10-20 skenario ( test email salah, test kombinasi password salah, test alur klik tombol register, dan banyak lainnya ).

Ini proses yang benar-benar manual. Benar-benar klik satu persatu, ketik satu persatu. Dan ketika sudah diperbaiki oleh Programmer, mereka harus mengulang testing hal yang sama.

Skenario fase testing berulang QA Engineer
Skenario testing

Efek dari kekurangan diatas adalah :

1. Rawan Human Error

Bayangkan jika seorang QA Engineer melakukan klik satu persatu hal yang sama dan berulang-ulang, maka pasti akan cepat kelelahan dan kehilangan fokus. Ini menyebabkan rawan adanya bug / ketidaksesuaian yang terlewat.

2. Proses Testing Menghambat Kecepatan Programmer

Sangat mungkin terjadi keterlambatan dalam development aplikasi karena lamanya proses testing. Misalnya sudah akhir minggu ke 4, lalu ternyata masih juga ada bug yang harus diperbaiki.

Lalu bagaimana ? Ujung-ujungnya orang-orang akan lembur atau bahkan harus perpanjang waktu development di periode berikutnya. Sungguh membuang-buang waktu, tenaga, dan uang.

Kesimpulannya adalah, para QA Engineer yang ada saat ini belum bisa mengimbangi kecepatan Agile para Developer. Dan jika QA Engineer tidak merubah cara kerjanya, benar-benar menjadi hambatan besar pada perusahaan yang ingin menerapkan metodologi Agile.

QA Automation Engineer Sebagai Solusi Terbaik

Apa itu Software QA Automation Engineer ? Apa bedanya dengan Software QA Engineer biasa ? Kenapa Software QA Automation Engineer dapat menjadi solusi pada permasalahan Agile sebelumnya ?

Sebenarnya QA Automation Engineer ini hanyalah QA Engineer biasa yang bisa melakukan otomasi proses testing yang tadinya manual. Seorang QA Automation Engineer akan melakukan hal berikut untuk mengotomasi proses testingnya :

1. Membuat Kesepakatan Awal Dengan Programmer

Sebelum Programmer mulai coding, maka Programmer dan QA Automation Engineer akan menyepakati seperti apa saja skenario testing yang menyatakan fitur ini lolos test.

2. Paralel Ngoding dengan Programmer Untuk Membuat Script Otomation

Pada hari yang sama dimana para para Programmer mulai coding membuat fitur, di saat itu juga para QA Automation Engineer ngoding membuat script Otomation testing.

3. Programmer Bisa Test Codingan Mereka Sendiri Secara Otomatis

Saat fitur jadi, di saat yang sama script otomation test pun juga selesai. Programmer langsung masukkan codingan mereka ke script test otomasi yang sudah dibuat, dan Voila ! Proses testing akan berjalan secara otomatis seperti magic, dan langsung muncul hasilnya apakah masih ada bug atau tidak. Semua dalam hitungan menit !

Jika masih ada bug, tanpa menunggu apa-apa, Programmer langsung memperbaikinya. Dan jika sudah diperbaiki, masukkan lagi ke dalam script test. Begitu terus diulang-ulang sampai fitur dinyatakan lolos oleh Script Otomasi tersebut.

Gambaran alur kerja QA Automation Engineer
Alur kerja QA Automation Engineer

Perbedaan utama cara kerja QA Engineer biasa dengan QA Automation Engineer adalah sebagai berikut :

Keterangan QA Engineer QA Automation
Cara Kerja Saat Programmer membuat fitur, QA Engineer biasa akan nganggur. Setelah fitur jadi barulah QA Engineer melakukan testing fitur tersebut secara manual. Ikut ngoding dari awal paralel bersama dengan Programmer. Programmer membuat fiturnya, QA Automation Engineer membuat script untuk testing fitur tersebut secara otomatis.
Cara testing QA Engineer biasa akan bekerja berkali-kali melakukan test yang sama berkali-kali apabila terjadi bug. QA Automation Engineer cuma perlu kerja 1x, walaupun muncul bug berkali-kali dan harus di test pada fitur yang sama berkali-kali.
Durasi testing Proses testing memakan waktu yang lama, rawan kesalahan dan lolosnya bug yang tidak terlihat. Proses testing berjalan super cepat, karena dilakukan oleh komputer / mesin.
Efektifitas kerja Akan saling tunggu dengan tim Programmer. Saat programmer membuat fitur, QA Engineer menunggu. Saat QA Engineer testing, Programmer menunggu. Tidak perlu ada saling tunggu antara tim Programmer dan tim QA. Tim Programmer bisa langsung test fitur yang mereka buat kapanpun dan sesering apapun mereka mau.

Dan perhatikan perbandingan gambar di bawah ini, agar Anda bisa melihat seberapa jauh efisiensi metode ini dibanding dengan Agile tanpa otomasi testing, atau bahkan dibanding dengan metode Waterfall :

Perbandingan proses kerja antara Waterfall, Agile, dan QA Automation Engineer
Perbandingan alur kerja

Pada intinya dengan sistem ini QA Engineer dan Programmer menjadi tidak banyak nganggur. Waktu yang terbuang karena nganggur, bisa di konversi untuk mendevelop fitur yang lain.

Efeknya, di setiap Sprint fitur yang diselesaikan bisa lebih banyak. Misal dalam 1 bulan tanpa otomasi testing hanya bisa mengerjakan 2 fitur, maka dengan otomasi testing bisa 3-4 fitur. Ini yang membuat durasi proyek semakin singkat.

Saat ini memang masih sangat jarang talenta QA Engineer yang sudah bisa melakukan test otomasi. Rata-rata hanya bisa melakukan test manual, walaupun ada yang sudah menggunakan test secara scripting / coding, tapi juga masih manual.

Skill Yang Wajib Dimiliki QA Automation Engineer

1. Kemampuan Komunikasi

Anda harus bisa kritis serta berkolaborasi dengan seluruh tim programmer, product manager, dan sesama QA engineer untuk memastikan fitur / aplikasi yang di buat benar-benar berkualitas.

2. Kepedulian Terhadap Produk

Semakin Anda care, penasaran, dan paham betul terhadap produk / fitur yang akan / sedang di buat, maka Anda semakin bisa merancang skenario-skenario test yang ketat dan out-of-the-box. Gunanya ? Kembali lagi, untuk memastikan fitur / aplikasi yang di rilis benar-benar berkualitas dan bermanfaat.

3. Kemampuan Coding

Ini dibutuhkan untuk melihat apakah adanya kekurangan pada codingan yang dibuat oleh programmer, serta dapat memberikan saran-saran bagaimana cara meningkatkan kualitas code yang dibuat. Cukup kuasai 1 bahasa coding misalnya Java atau Python, maka akan sangat membantu karir Anda sebagai QA Automation Engineer.

4. Kemampuan Otomasi

Ini kemampuan utama, yaitu bisa membuat skenario-skenario test yang terotomasi. Sehingga membuat proses rilis aplikasi jauh lebih cepat dan jauh lebih berkualitas. Beberapa tools otomasi diantaranya Selenium, Postman, dll.

Beberapa contoh automation testing tools QA Automation Engineer
Beberapa tools automation yang dapat Anda pelajari

Manfaat QA Automation Engineer Bagi Perusahaan

Inilah manfaat perusahaan yang mempekerjakan QA Automation Engineer dibanding QA Engineer biasa :

1. Produktifitas Tim Meningkat, Bisa Rilis Aplikasi Lebih Cepat

Walaupun sudah menerapkan metode Agile tapi tim QA Engineer-nya belum “Agile”, maka percuma. Tetap lebih lambat dalam produktifitas dan rilis aplikasi. Dengan masuknya QA Automation Engineer, maka metode Agile menjadi sempurna. Bahkan menurut suatu studi, bisa meningkatkan produktifitas dan kecepatan proses rilis aplikasi 2-3 kali lipat.

2. Meningkatkan Kepuasan Customer Pengguna Aplikasi

Bagaimana jika customer selalu dapat aplikasi yang cepat, responsif, dan tidak ada bug ? Otomatis customer akan semakin puas. Efeknya perusahaan semakin mendapatkan banyak customer loyal.

3. Membuat Perusahaan Bisa Terus Berinovasi Dengan Cepat

Apa jadinya jika sebuah perusahaan bisa terus-menerus rilis fitur / aplikasi lebih cepat daripada para pesaingnya ? Sederhana saja, perusahaan akan terus meninggalkan kompetitor-kompetitornya di belakang.

Sama seperti yang Gojek lakukan terhadap Uber. Gojek sudah berhasil rilis 5-8 fitur yang disukai customernya, sedangkan Uber baru 1 fitur. Gojek berhasil mengungguli proses inovasi Uber jauh di depan.

 

Sumber utama atau original diambil dari : https://blog.sekolahqa.com/qa-automation-engineer/

 

LENMARC MEGASOFT telah menggunakan metode ini dimana kami dalam waktu 3 tahun sudah berhasil membangun software dari skala kecil sampai ke besar baik untuk retail, fabrik dan tekstil, toko emas, spa, cafe, petshop dan product-product lainnya yang dibutuhkan oleh konsumen. Oleh karena itu, keputusan yang tepat bagi anda untuk memilih https://www.lenmarc.com/ sebagai penyedia software bagi anda dan team anda!


Tunggu apa lagi? hubungi kami sekarang juga di website atau live chat atau email di info@lenmarc.com atau whatsapp di 0896 2600 5000.