Apa sih Keahlian Penting yang Sering Luput dari Seorang QA Engineer?

Cita Nurani Lestari
codexstories | CODEX Telkom
4 min readJul 4, 2019

--

“If you don’t like testing your product, most likely your customers won’t like to test it either.” (Anonymous)

Hola, saya kembali lagi dengan artikel tentang Codex. Baru-baru ini saya mewawancarai salah seorang QA Engineer Codex. Ada hal menarik dari obrolan tersebut yang membuat saya ingin menceritakan kembali pada kalian lewat artikel ini.

Sebelumnya, kalian tentu akrab dengan istilah QA Engineer kan? Dalam proses pengembangan sebuah produk atau aplikasi, mereka bertanggung jawab untuk melakukan pengujian terhadap aplikasi yang dibuat. Hal ini dibutuhkan demi memastikan bahwa sistem yang dikembangkan sesuai dengan kebutuhan yang telah ditentukan sebelumnya sehingga menghasilkan sistem yang terjamin kualitasnya.

Sebagai orang awam yang sering menjadi end user, saya berpendapat bahwa tugas mereka pasti sangat berat karena “sertifikat lulus” suatu produk atau aplikasi hanya bisa dikeluarkan dengan persetujuan mereka. Artinya, QA Engineer-lah yang memberikan jaminan bahwa produk atau aplikasi memang sudah layak dan berkualitas untuk digunakan oleh end user. Sehingga, jika suatu saat ditemukan bug oleh end user pada produk atau aplikasi tersebut, maka QA Engineer yang pertama akan dicecar pertanyaan oleh para stakeholder. Beban yang cukup berat tentunya.

Meski demikian, peran QA Engineer di dalam sebuah tim seringkali kurang dianggap karena mereka terkesan tidak memiliki keahlian khusus, berbeda dengan developer atau designer. Bahkan beberapa tim justru meniadakan posisi QA Engineer dalam proses pengembangan produk atau aplikasi.

Namun bagi Codex, keberadaan QA Engineer sangatlah penting. Hal ini tentu saja untuk menjaga kualitas setiap produk atau aplikasi yang dibuat.

“Software testers do not make software; they only make them better.” (Anonymous)

Di Codex, mungkin sama seperti di tim lain, QA Engineer mempunyai beberapa tanggung jawab, yaitu:

  • Melakukan end to end test friendly sampai ke user,
  • Menguji fungsionalitas, dan
  • Memastikan bahwa aplikasi tahan banting atau tidak gampang eror.

Hal ini sesuai dengan cerita dari Andria Sufy atau biasa dipanggil Cupi (salah satu QA Engineer Codex), yang memiliki cita-cita ingin menghasilkan produk atau aplikasi yang tidak membuat pelanggan rugi dan menyesal.

Andria Sufy — QA Engineer Codex

Hmm, sepertinya boleh ya kalau saya mengatakan bahwa tugas QA Engineer sebenarnya adalah menguji baik atau buruknya hasil pekerjaan developer dan designer. Hal tersebut terlihat biasa saja ketika hasil pengujian bagus atau dikatakan tidak ada bug. Akan tetapi, hal tersebut bisa menjadi masalah ketika ada bug.

Ketika bug muncul, maka hal yang perlu dilakukan oleh QA Engineer adalah melakukan reject terhadap fungsi tersebut dan mengakibatkan produk atau aplikasi tidak bisa dipindahkan ke production. Dampaknya, apa yang telah dikerjakan oleh developer atau designer seperti sia-sia.

Bagi QA Engineer yang tidak “tegaan” bisa saja bug kecil tidak dianggap dan diluluskan saja. Namun sebaliknya, bagi QA Engineer yang “tegaan”, sekecil apapun bug yang ada, maka produk atau aplikasi tersebut harus dinyatakan tidak layak untuk digunakan.

Bagi saya sebagai end user, tentu akan lebih memilih QA Engineer yang “tegaan” karena menganggap kualitas produk atau aplikasi yang dibuat akan lebih terjamin. Namun hal ini mungkin berbeda bagi para developer atau designer yang telah mengeluarkan usaha serta kemampuan terbaik mereka untuk membuat coding dan desain. Jika produk atau aplikasi di-reject, maka sama saja dengan mengatakan usaha mereka tidak dihargai. Tentu mereka berharap agar bug kecil dapat tetap diterima.

“Hal yang menyenangkan dari profesi ini adalah ketika hasil pengujian menunjukkan tidak ada bug, sehingga saya hanya perlu menyampaikan kabar baik kepada para developer atau designer,” ujar Cupi. “Namun situasi berbanding terbalik ketika muncul bug. Maka saya harus menyampaikan temuan tersebut kepada para developer atau designer dengan cara yang baik, agar mereka mau dengan senang hati menerima kekurangan dan memperbaiki kesalahnnya.”

Berdasarkan pengalaman yang ia peroleh dari menjalankan sembilan proyek dan hadir di meetup yang sering ia ikuti, Cupi menyatakan bahwa seorang QA Engineer dituntut untuk dapat memahami kondisi psikologis para developer dan designer dalam menyampaikan temuan tersebut.

“Jika hal itu diabaikan, maka bisa saja berdampak pada hubungan yang tidak baik dengan keduanya, atau bahkan mengganggu suasana tim yang kondusif dan akhirnya berdampak pada hasil akhir produk atau aplikasi itu sendiri,” ujar Cupi.

Barangkali teman-teman juga bisa membayangkan yah, bagaimana jika ada orang yang kerjanya hanya mencari kekurangan dan kesalahan kita tanpa memikirkan usaha seperti apa yang sudah kita keluarkan untuk menyelesaikan pekerjaan tersebut. Kesel sih.

Tidak hanya itu, QA Engineer juga dituntut untuk memiliki kemampuan komunikasi yang baik, terutama dalam pemilihan kata-kata yang sounds friendly namun dapat dipahami oleh developer atau designer. Bisa saja QA Engineer menunggu ketika suasana hati developer atau designer sedang baik, akan tetapi proyek nantinya akan terhambat karena tidak ada yang tahu kapan suasana hati mereka sedang dalam kondisi terbaik.

Perlu juga diingat, agar dapat membedakan bahasa melalui tulisan dan verbal. Penyampaian melalui tulisan lebih sering disalahpahami karena tidak ada nada suara yang hanya diketahui ketika berbicara langsung.

Tapi jangan lupa, dua kemampuan itu juga tidak ada artinya jika seorang QA Engineer tidak paham ilmu pengujian. Karena developer dan designer pun akan sulit menerima masukkan dari orang yang tidak paham ilmunya.

Kalau di Codex, ada beberapa tool yang wajib diketahui oleh seorang QA Engineer, antara lain:

  • Katalon Studio
  • Jmeter
  • Web Services Automation
  • Postman

Nah, itu dulu artikel dari saya kali ini. Sebagai catatan, tulisan ini mengambil perspektif dari kondisi ideal seorang QA Engineer. Namun di sisi lain, tentu saja kerja sama yang baik juga diharapkan muncul dari developer dan designer agar dapat sama-sama menghasilkan produk atau aplikasi yang berkualitas.

--

--