Test Case Management System dan implementasinya di dunia QA

Sebagai seorang QA mungkin kata “test cases” sudah tidak asing lagi di telinga kita. Mungkin sekarang ini kamu sedang take a break dari pembuatan test cases sambil baca-baca tulisan ini :).

Tech Comics: "But I'm Hilarious" | Programmer humor, Tech humor ...

Apa sih kaitannya antara test cases dan test management system? Dan kenapa test management system ini penting untuk QA?

Sebenarnya sih test cases adalah kumpulan langkah aksi untuk mengetest sebuah fitur. Contohnya untuk mengetest suatu fitur alangkah baiknya semua langkah-langkahnya di dokumentasikan terlebih dahulu supaya tidak ada yang kelupaan pas sementara testing dan yang paling penting langkah-langkah tersebut bisa di ikuti oleh QA yang lain. Kita akan bahas tentang ini di post saya yang lain ya. Soalnya banyak sekali yang harus di bahas jika kita berbicara tentang test cases.

Kaitannya test cases dengan test management system adalah test cases itu adalah salah satu bagian dari test management system. Test management adalah aktifitas untuk mengatur suatu proses QA.

Di dunia corporate, dengan sebegitu banyaknya anggota QA, test management itu akan sangat penting untuk membantu proses testing sehari-hari. Mari kita berandai-andai.

Misalnya ada 1 orang QA Manager (QAM) dengan kurang lebih 10 QA yang bekerja di tim dia. Tim dia ini mengetest sekitar 6 projects yang sedang berjalan bersamaan. Setiap QA akhirnya memutuskan untuk membuat spreadsheet untuk menulis test cases mereka (mari kita berasumsi bahwa tim QA ini patuh terhadap pembuatan test cases sebelum melakukan hands-on testing). Beberapa bulan berlangsung, projects mereka semakin bertambah sehingga Head of Engineering memutuskan untuk menambah kapasitas tim QA menjadi 12 orang. Akhirnya, tiba saatnya QA yang baru ini bergabung. QA ini akhirnya ditugaskan untuk mulai membaca test cases yang sudah pernah di buat. Disitu lah mulai terlihat ada banyak test cases yang sudah tidak valid atau tidak tersedia.

Mungkin teman-teman yang membaca tulisan ini sudah pernah mengalami hal yang di atas? Biasanya apa yang akhirnya dilakukan? Mungkin bisa ikut diskusi di comment di bawah ya :).

Not sure if working Or missing test case - Futurama Fry | Meme ...

Sebagai seorang QA, sangat penting untuk bisa mengadopsi test case management system. Ada beberapa hal positif yang bisa di ambil jika kita menggunakan test management system seperti:

  • QA bisa mengukur projeksi waktu testing untuk bisa di laporkan ke PM sebagai estimasi waktu yang di perlukan untuk melakukan testing.
  • Jika kita menulis dan meng-design test cases, akan banyak sekali ide-ide yang mungkin tidak kita pikirkan sebelumnya yang bisa di masukkan ke dalam test cases.
  • Sebelum melakukan testing, alangkah baiknya sudah melakukan test design dulu supaya kita bisa mempersiapkan apa saja yang perlu di siapkan sebelum hands-on testing nya di mulai. Terkadang testing kita menjadi lama karna misalnya kita masih harus mencari koneksi DB / siapin iOS phones etc.
  • Semua anggota tim juga dapat mengakses test cases repository kita. Dengan demikian, Dev/PM tim yang hendak mencari tau tentang test cases kita bisa mencari nya dengan gampang. Terlebih jika ada QA member baru yang akan masuk ke project yang sama. QA baru tersebut bisa membaca test cases kita sehingga knowledge transfer nya akan lebih cepat.

Nah, bagaimana pendapat teman-teman. Apakah tempat kerja kalian sudah menerapkan test case management system? Yuks discuss di comment!

Manual vs Automation Testers – Apa saya harus milih ini atau itu ya?

Manual atau Automation Testers adalah topik yang banyak sekali di perbincangkan di kalangan QA belakangan ini. Kalau bisa saya simpulkan, pertanyaan yang sering di tanyakan itu seperti:

  • Apakah menjadi QA Manual saya mempunyai masa depan yang baik?
  • Apakah Automation testers itu lebih besar gajinya dari pada QA Manual?
  • Kenapa Automation testers itu harus paham Manual testing?
  • Dan masih banyak lagi pertanyaan seputaran ini yang sering sekali saya dengar…

Nah, kalau sudah omongin soal gaji, pada langsung penasaran kan? 😀

Saya akan coba bahas topik ini berdasarkan pengalaman saya bekerja sebagai QA di beberapa perusahaan ya.

Sebaiknya untuk tau lebih dalam tentang QA, kita pahami dulu apa sih QA Manual dan QA Automation ini.

Manual QA / Software Quality Analyst (QA Analyst) / QA Tester sering di indetifikasi sebagai QA yang mengetest sebuah aplikasi berdasarkan analisa-analisa yang di dapat dari sebuah dokumen kebutuhan bisnis (business requirements) dengan cara manual. Apa sih sebenarnya mengetest suatu fitur dengan cara manual?

Kalau teman-teman pernah lihat mungkin di kantornya itu yang sering di bilang lagi main hp / main laptop aja seharian, coba deh di tanya, mungkin saja teman kita yang di kantor itu adalah seorang Manual QA.

Biasanya teman-teman Manual QA ini akan membuat test cases** sebelum memulai aktifitas mereka untuk mengetest fitur yang sudah selesai di buat oleh Developer. Di dalam proses membuat test cases ini, seorang Manual QA akan menganalisa fitur ini berdasarkan Acceptance Criteria** yang sudah di dapat dari PM nya. Kenapa sih analisa test cases ini sangat penting? Karena untuk menjadi seorang QA yang baik, kita harus bisa mencoba berpikir selayaknya pengguna aplikasi / web yang sedang kita test agar supaya test cases kita bakalan lebih tepat menjawab kebutuhan pengguna aplikasi / web kita.

Selanjutnya apa sih Automation Tester?

Automation Tester / Software Development in Test (SDET) / Test Engineer / QA Engineer biasanya mereka melakukan testing melalui media otomatisasi. Mereka akan menggunakan sebuah framework automation** untuk menjalankan test cases yang telah di buat sesuai dengan business requirements yang mereka dapatkan.

Kenapa automation itu penting di dunia QA? Secara garis besar sih untuk mempercepat testing sebuah fitur. Jika misalnya manual testing 1 fitur memakan waktu 30 menit, mungkin dengan automation testing hanya memakan waktu 5 menit saja. Berarti QA tersebut telah menghemat 25 menit waktu untuk melakukan testing.

Yang lain akan bertanya, apakah automation tester itu perlu untuk melakukan manual test? Jawaban singkat nya sih, PERLU BANGET!

Seorang automation tester harus melakukan manual testing dulu untuk tau alur dari fitur yang telah di bangun karena melihat dokumentasi saja itu tidak akan cukup untuk medapatkan “feel” dari fitur tersebut.

Jadi sebenarnya apakah seorang QA harus memilih apakah dia harus menjadi seorang manual tester atau automation tester itu sebenarnya tidak perlu karena untuk menjadi seorang “super” QA itu sebaiknya paham akan analisa sebuah fitur, membuat test cases yang baik, bisa mengetest semua fitur yang ada, dan bisa meng-“efficiency” kan testing nya itu dengan mengadopsi automation framework.

Profesi QA sama seperti profesi yang lain. Ada banyak cabang-cabang nya yang bisa kalian fokus kan. Seperti adanya seorang dokter spesialis, QA juga bisa punya spesialisasi sendiri. Contohnya: Manual QA yang handal di analisa dan performance testing** atau Automation QA yang juga yang lebih mahir di bidang front-end mobile automation. Itu semua kembali lagi ke masing-masing individu untuk bisa berkembang sesuai kecepatan dan kemauan belajar tiap individu.

Apakah salah jika saya lebih tertarik sebagai QA Manual? Tidak! Karena Manual QA itu masih di butuhkan di market dan tenang, kebutuhan itu tidak akan bisa pernah berubah. Dunia pasar memang sekarang sedang berubah ke arah otomatisasi secara penuh, tapi itu masih akan memakan waktu yang cukup lama. Tapi ini bukan berarti seorang QA Manual harus merasa mereka aman. Saran saya, lebih baik menambah ilmu supaya kita lebih kredibel di industri.

Untuk seorang Automation QA juga tidak boleh memandang remeh QA Manual karena sebelum membangun automation tests, seorang Automation QA harus tau bagaimana caranya melakukan pengetesan manual dulu untuk menjadi seorang Automation QA yang handal.

** Akan di bahas di artikel selanjutnya