Eh katanya di Perusahaan itu udah ga ada QA nya loh!

Fachrul Ch
Ngetest Bareng Fachrul
4 min readJan 7, 2023

Apakah QA ga dibutuhkan lagi? Apakah ini bikin masa depan QA jadi suram?

Berawal dari membaca sebuah cuitan twitter di bawah ini, kemudian saya jadi memikirkan bagaimana dampak peran QA pada tim engineering.

Dilanjutkan membaca utas tersebut, banyak yang menimpali di berbagai perusahaan besar pun sudah tidak ada lagi jabatan QA (quality assurance), ada yang sesumbar dengan tanpa QA mereka sudah menghemat anggaran, ada pun yang bilang bahwa, tidak memiliki QA adalah sebuah pertanda kecakapan teknis pada Development timnya. Lagian ngapain mesti di test sih, disaat kamu bisa kasih customer test langung!

Apa benar begitu?

Mungkin saja benar adanya, karena itu adalah kebenaran yang relatif dan subjektif, bukanlah sebuah rumus pasti.

Karena sesungguhnya jika saya pikir, QA adalah jabatan yang tidak esensial, seperti halnya PM atau designer. Client bisa saja langsung menyampaikan kebutuhannya kepada programmer (sendiri).

Namun dengan berkembangnya aplikasi dan meningkatnya kompleksitas pengerjaan maka diperlukan kerja sama tim yang biasanya disebut Delivery Team (product+engineer) yang menurut saya sangat mirip dengan tim sepak bola, mari saya analogikan, misalnya saja ada tim yang ga punya penyerang murni loh (false 9), ada tim yang ga punya sosok playmaker, ada tim yang bek sayapnya jadi gelandang serang, ada banyak cara bermain baru di sepak bola modern ini.

Pada musim 2008/09 tim Barcelona begitu adidaya dilapangan dengan permainan Tiki-taka mereka bisa memainkan “Sepak bola indah” dengan umpan pendek kaki ke kaki, dengan konsisten mereka selalu mencetak kemenangan.

Semua orang demam tiki-taka, banyak tim terinspirasi dan coba menerapkan permainan tiki-taka, namun tak semuanya berhasil, karena mereka tidak memiliki kapasitas pemain mumpuni seperti Barcelona, kualitas pemain yang dimiliki tim tidak bisa menyamai Messi, Iniesta, ataupun Xavi, pun mereka telah melalui proses latihan panjang sebelumnya.

Begitupun dengan tim delivery tadi, bukan tidak mungkin kita bisa memiliki tim tanpa QA, tapi pastikan segala persiapan sudah dimiliki dengan baik, seperti (menurut saya):

  • memiliki proses development yang bertanggung jawab, menjalankan secara religius TDD
  • mekanisme feedback loop yang pendek
  • monitoring & alerting dari production env
  • dan lain sebagainya, sehingga peran dari sosok QA sudah tergantikan.

Terlebih, siapa pula yang bisa manjadi penjamin kualitas lebih baik selain si orang yang membuatnya, QA (quality assurance) hampir tidak bisa memiliki kuasa untuk merubah schedule, budget, scope, development style, yang mana sangat berpengaruh kepada kualitas pengerjaan fitur/project toh.

Bisa jadi juga mereka belum pernah bertemu seorang Tester Handal, sehingga menurut mereka QA tidak lagi diperlukan, memang sering sekali saya melihat QA adalah seorang programmer tanggung yang bisa koding tapi ga jago, atau project manager wannabe. Kita haruslah menjadi Investigator handal, seperti sosok detektif!

Tugas kita (Software Tester) adalah mencari informasi berharga dan akurat mengenai perkembangan dari pengerjaan fitur/project, menjadi sosok yang fokus pada risiko, masalah dan pesimis, yang mungkin terjadi disaat semua orang dalam tim berfikir optimis meraih kesuksesan

Kita tak boleh sombong mengemban tanggung jawab kualitas seluruhnya, ataupun menjadi tukang cap pass/failed. Daripada memastikan apakah fitur sudah sesuai requirements, kita lebih baik bertugas untuk mencari masalah, mencari kejutan bugs, mengukur resiko dan membantu tim untuk bisa bertanggung jawab mengerjakan fitur/project yang berkualitas baik dan memuaskan, salah satunya dengan QA memberdayakan automated test.

“You can’t automate well without exploring, you can’t explore well without automating” ~ Maaret Pyhajarvi

Saya sebenarnya tidak suka melabeli “manual testing” vs “automated testing” karena sesungguhnya kode test automated hanya sekedar alat bantu saja menurutku, seperti perangkap hama (bugs), dia perlu dipasang dimana bugs berpotensi (sering) muncul. Sudah selayaknya seorang Software Tester menguasai alat yang bisa membantu kinerjanya toh.

Bagaimana cara kita membantu tim?

Dengan cara mendengar kebutuhan mereka, coba kamu tanyakan hal apa saja yang mereka harapkan dari kamu.

Saya coba kasih contoh dari pengalaman saya, yang dibutuhkan dari seorang QA adalah informasi:

  • sebagai seorang programmer, mereka ingin tahu apakah ditemukan masalah dari perubahan kode, bagaimana cara QA menemukannya, apakah ada dampak di modul lain agar programmer bisa memperbaiki dan lebih waspada lagi kedepannya.
  • Kemudian sebagai seorang PM, mereka ingin tahu bagaimana hasil observasi/evaluasi dari QA atas product/fiturnya, apakah hasil akhir sesuai dengan ekspektasi awal, adakah perubahan yang tidak direncanakan, apakah ada dampak buruk/baik dari fitur baru, bagaimana jika dibandingkan dengan produk lain di market
  • dan lain sebagainya.

Kita ini bagaikan indra tambahan pada tim, keunikan dan ke-sensitif-an kita diharapkan bisa melihat sudut pandang baru, merasakan hal yang sering kali luput dari orang lain (development tim), namun kita pun bisa saja salah, jadi kitapun harus terus skeptis akan apa yang menjadi opini kita sendiri. Layaknya instrumen alat ukur yang perlu dikalibrasi, kita pun harus bisa mengevaluasi hasil kerja kita, minta feedback dari tim secara rutin.

Ingat, Test Automation hanyalah sebuah alat (jebakan hama), jangan lupakan proses eksplorasi, investigasi, dan pahami produk dan proses bisnisnya, dan coba juga aplikasi kompetitor biar tidak seperti katak dalam tempurung. Kemudian buatlah report seakurat mungkin dan sampaikan dengan baik pada tim, jangan salah duga loh, QA ga hanya bisa melaporkan temuan bugs, kita pun bisa membagikan hasil observasi dan analisa produk. Dengan begitu peran QA akan jauh dari kata checking acceptance criteria, sosok QA tidak akan bisa digantikan oleh mesin (automated test) yang tidak memiliki nalar diluar assertion yang ditentukan.

Jadi

Tak perlu takut QA digantikan oleh mesih “automated test” karena peran QA lebih dari sekedar checking the expected. Saya yakin tim engineering masih butuh sekali QA yang handal, yang bisa ikut gotong royong memberikan fitur yang dibutuhkan pengguna melebihi harapan mereka.

Selama kita bisa memberikan yang terbaik untuk tim, selama itu pula kita, Software Tester masih akan dibutuhkan oleh tim.

Bonus

Goal keeper jaman now tuh kayak Alisson Becker, selain jago tepis tembakan lawan, dia bisa gocek, umpannya akurat, dan bisa cetak Gol juga (fullstack goal keeper) 😅

--

--