Contents
Di artikel pengenalan Quality Assurance sebelumnya, kita telah membahas tentang tanggung jawab QA, kesempatan karir, gaji QA Engineer dan banyak lagi seputar job QA. Kali ini kita akan membahas teknologi apa saja yang dipakai SDET / QA engineer untuk mengerjakan jobdesk testing, reporting, tracking dan managing tugas QA. Perhatikan peta idea dibawah. Sekedar note, disini QA kepanjangannya Quality Assurance dan merupakan job QA yang berperan dalam pengembangan software.

Teknologi QA, mulai dari untuk Software Testing, manajemen projek, hingga melaporkan hasil projek ke tim lain
Secara umum teknologi SDET (ya! IT QA banyak disebut SDET) yang digunakan adalah:
- server untuk continious delivery contohnya jenkins
- Untuk melakukan uji coba emulator dan skenario testing, perusahaan mempunyai apa yang dinamakan test case management system. TCMS juga mengakses berbagai macam device testing dari berbagai sistem operasi untuk uji. Kamu sebagai QA Engineer perlu melakukan uji coba aplikasi ke beragam devices seberagam mungkin. IOS dan Android, Android versi terbaru sampai versi usang (well tergantung dari PO nya, ingin aplikasinya kompatible ke devices apa saja). Istilahnya sebuah lab uji coba.
- Untuk membuat unit testing, dan automasi proses review testing ada toolnya salah satunya adalah sonarqube.
- Tempat pendataan Status dan progress projek Testing QA untuk mempermudah diskusi dengan divisi non teknis biasanya dicatat dalam project management seperti Jira atau Youtrack.
Untuk mempermudah QA Engineer diperlukan teknologi untuk integrasi kebutuhan QA diatas, minimal teknologi tersebut menyediakan beberapa fitur untuk analitik atau melakukan tugas sederhana di satu tempat secara bersamaan. Beberapa perusahaan menyediakan framework QA management. QA Integration and Knowledge System merupakan framework untuk integrasi empat teknologi umum yang dipakai oleh SDET.
Mengapa perlu belajar menjadi QA Engineer / SDET: Belajar Software Testing lebih Pro
Kemudahan dari belajar QA adalah framework yang digunakan relatif lebih jarang ada pembaruan, nggak seperti Javascript yang kelihatannya tiap hari selalu ada saja framework baru. Sekalipun Tools atau library yang QA Engineer pakai ada upgrade, biasanya hanya penambahan fitur dan tidak mempengaruhi sintaks use-nya. Sehingga learning adaptibilitynya lebih baik dan learning curve lebih landai daripada software developer.
Bagaimana tim SDET / QA Engineer bekerja dengan tim lain?
Gak ada rumus baku, setiap perusahaan punya caranya tersendiri. Bahkan setiap perusahaan yang menggunakan metodologi Agile, bisa berbeda penerapannya dalam mengkolaborasi tim QA dengan tim engineer, product owner, scrum master dan tim lain yang terlibat dalam projek. Tetapi ada salah satu contoh integrasi job QA dari saya (ada pada perusahaan yang menggunakan Agile Methodology), semoga bisa menjadi referensi.
Do Planning with Developers in the early day of Sprint
Tidak termasuk bagian team QA Research dan Development, Tim QA bagian Product akan melakukan diskusi ini adalah proses planning, tidak seperti cara usang dimana QA baru dipanggil ketika produk sudah jadi. Tujuan dari planning ini adalah untuk diskusi dengan tim developer bagaimana mencegah terbuatnya bug. Tim QA juga akan memberi masukan tentang Definisi of Done yang menjadi target utama dari sprint agar selesai.
Kamu jangan kaget di fase ini akan sering kali terjadi perdebatan. Tetapi tujuannya adalah memastikan masing-masing tim termasuk team QA punya gambaran yang sama tentang apa yang sedang mereka kerjakan dan jadinya seperti apa. Planning bisa membahas hal yang umum, seperti kapan mulai dan target selesainya seperti apa.
Tim SDET Membuat Test Scenario
Pada tahapan planning, Quality Assurance akan membuat tes skenario, QA akan menyiapkan data-data testing (termasuk script automation testing) dan membuat studi test case, saat ini developer sedang dalam proses menyelesaikan aplikasi alias lagi ngoding. Setelah itu dipresentasikanlah hasilnya.

Oh iya, mengapa QA perlu membuat script automasi testing? Karena terkadang ketika developer memperbaiki error di satu tempat, bisa jadi akan membuat error baru di tempat lain. Sehingga QA Engineer akan melakukan testing ulang keseluruhan lagi setiap kali proses patching dari developer selesai dilakukan. Untuk menghemat waktu, cukup buat bot testing dan biarkan bot tersebut melakukan uji testing.
BTW, ada banyak cara untuk membuat testing UI menjadi lebih effisien, kamu bisa pilih banyak library untuk mempermudah melacak proses testing seperti menggunakan sonarqube dan selenium. Beberapa library bahkan mampu memberikan informasi hasil dari testing, bagian skenario testing mana yang berhasil dan gagal beserta langkah-langkah menuju UI yang di-testing itu (Contoh: Serenity).
Kenapa tim QA Research terpisah dari product development, karena tim ini fokus untuk menyelesaikan masalah yang dihadapi tim QA bagian product. Misalnya ketika memelihara dan meningkatkan performa automation. Sehingga tim QA bagian product lebih fokus pada testing produk.
Bagaimana SDET bekerja dengan Developer #2: Menyampaikan bug ke Pengembang

Ada Tiga Tahapan Fase Testing QA Engineer Berkerja
Spot, Di sini tim SDET akan menyiapkan testing, membuat skenario testing hingga script untuk testing automation setelah itu baru dilakukan uji testing pada aplikasi. Pada tahapan ini akan mencari spot-spot bug.
Approach, setelah menemukan spot bug mana saja yang muncul. SDET akan mendokumentasikan apa saja informasi yang dibutuhkan developer yang berhubungan dengan bug tersebut. Seperti alur user menuju bug, screenshot bug, device yang mana yang muncul bug. Kalau kamu kenal github versioning, SDET juga akan menguji tidak hanya di satu versi code saja bisa jadi versi lebih low, ini juga perlu dilaporkan. Detail sekali bukan?
Quality Assurance Engineer juga akan menjelaskan definisi dari bug, mengapa skenario ini adalah bug? QA perlu menjelaskan hasil ekspetasi dari bug free pada fitur tersebut. Ambil contoh login, kamu sengaja memasukkan password yang salah, ekspetasinya adalah harusnya kamu tidak bisa login, tapi kenyataannya kamu masih bisa login. Nah ini yang perlu QA engineer laporkan ke developer.
Raise, Kamu akan sampaikan issue itu ke developer. Sama seperti membuat github issue, namun untuk QA menggunakan aplikasi backtracking dan Issue reporting untuk raise issue ke developer. Salah satu aplikasi backtracking adalah jira. Gunakan judul yang mudah dipahami dengan dekripsi yang jelas, karena nanti developer akan mengecek fitur tersebut mengikuti langkah-langkah yang dilakukan QA sampai menuju bug yang di-raise.
Perbedaan QA dan QC (Perbedaan Quality Assurance dan Quality Control)
Saya menemukan banyak pertanyaan populer mengenai perbedaan Quality Assurance dan Quality Control, terus terang saya belum pernah dengar Quality Control dalam lingkungan IT, kemungkinan paling mendekati adalah departemen operator karena tim lebih terlibat langsung dengan end user pada versi aplikasi yang sudah digunakan oleh publik. Intinya, yang berbeda pada QA dan QC adalah pada siklus software lifecycle mana mereka di tugaskan.
QA memastikan kualitas Software sebelum dirilis oleh publik, bahasa teknis nya adalah saat masih dalam fase development. Sedangkan Quality Control adalah memastikan kualitas Software dilapangan tetap terjaga dengan memastikan “pengiriman” software dilakukan dengan baik. Yang artinya QC berperan pada fase production.
Nah, itulah sekedar daily activity of Quality Assurance atau biasa dikenal SDET (Software Development Engineer in Test). Jangan lupa untuk follow akun nako info teknologi ya.
Join our list
Subscribe to our mailing list and get interesting stuff and updates to your email inbox.



0 Comments