1.4 Prinsip Pengujian: Scrum & Agile Testing   

Saat ini, kita hidup di era pengembangan perangkat lunak yang serba cepat dan dinamis. Kecepatan dalam merespons perubahan serta kemampuan untuk beradaptasi dengan kebutuhan pasar menjadi faktor utama dalam menentukan keberhasilan sebuah produk digital. Untuk menjawab tantangan ini, kerangka kerja Scrum telah menjadi salah satu standar yang banyak digunakan di industri karena mampu mendukung proses kerja yang lincah dan terstruktur.

Dalam konteks ini, peran Quality Assurance (QA) juga mengalami perubahan signifikan. QA tidak lagi hanya bertugas sebagai pemeriksa akhir di tahap akhir pengembangan, tetapi kini terlibat sejak awal, mulai dari perencanaan hingga pelaksanaan. Kehadiran QA sejak awal proyek membantu memastikan kualitas produk terjaga di setiap tahapan pengembangan.

Memahami bagaimana QA berperan dalam kerangka kerja Scrum dan dalam proses perencanaan sprint menjadi hal yang sangat penting. Mengapa? Karena jika proses pengujian tidak diintegrasikan dengan baik, justru dapat menjadi penghambat alur kerja tim. Sebaliknya, jika dilakukan dengan tepat, QA justru dapat menjadi pendukung utama dalam meningkatkan kualitas produk.

Perlu diingat! Praktik QA di dunia kerja sangat beragam. Lingkungan kerja di perusahaan e-commerce, fintech, startup, maupun perusahaan skala besar (enterprise IT) memiliki budaya dan kebutuhan yang berbeda-beda. Oleh karena itu, QA perlu memiliki kemampuan beradaptasi yang tinggi agar dapat bekerja secara efektif dalam berbagai situasi dan model kerja.

Untuk membuka pembelajaran pada topik ini, berikut beberapa pertanyaan awal yang dapat membantu Digiers melihat gambaran besarnya. 

Menurut Digiers, apakah peran QA hanya sebatas mengetes software di akhir sprint?

Pernahkah Digiers melihat fitur yang lolos ke produksi tapi ternyata tidak sesuai kebutuhan user?

Mengapa penting bagi QA untuk memahami konteks bisnis dan budaya kerja di industri tempat ia berada?

          Selain itu, sebelum kita masuk ke materi, yuk kenali dulu apa saja yang akan Digiers capai di akhir pembelajaran topik ini. Memahami tujuan pembelajaran membantu proses belajar menjadi lebih fokus dan terarah.

Subtopik 1.4.1 Peran QA dalam Scrum Framework dan Sprint Plan

Apa itu Scrum Framework dan Sprint Planning?

Scrum Framework merupakan kerangka kerja Agile yang menekankan pada kolaborasi tim, transparansi, dan pengiriman produk secara iteratif dalam periode waktu yang disebut Sprint. Sprint berlangsung selama waktu yang telah ditentukan, umumnya antara satu hingga empat minggu. Dalam periode ini, tim akan menyelesaikan pekerjaan yang telah direncanakan untuk menghasilkan peningkatan produk yang siap digunakan. Dalam konteks ini, QA tidak lagi berada di akhir proses sebagai pemeriksa hasil akhir. QA justru menjadi bagian penting yang terlibat sejak awal dan aktif berkontribusi selama seluruh siklus pengembangan.

Dalam Scrum, QA Engineer akan bekerja secara kolaboratif dengan Product Owner, Scrum Master, dan Development Team untuk memastikan bahwa setiap user story yang dikembangkan memenuhi kriteria penerimaan (acceptance criteria) yang telah ditetapkan. Adapun peran QA dalam kerangka kerja Agile mencakup:

  1. Meninjau persyaratan, menentukan kriteria penerimaan, dan mengidentifikasi potensi risiko.
  2. Menguji fitur-fitur yang sedang dikembangkan dalam sprint yang sama, dengan fokus pada pengujian fungsional, integrasi, regresi, dan performa.
  3. Mengevaluasi efektivitas proses pengujian dan menemukan area yang perlu ditingkatkan.
  4. Berkomunikasi aktif dengan pengembang, product owner, dan pihak terkait lainnya sepanjang proses pengembangan.

Salah satu kegiatan penting dalam Scrum adalah Sprint Planning, yaitu sesi perencanaan pekerjaan yang akan dikerjakan selama sprint mendatang. QA berperan aktif dalam sesi ini, termasuk memahami setiap user story, merancang skenario pengujian, memperkirakan waktu yang dibutuhkan untuk pengujian, dan memastikan bahwa Definition of Done (DoD) telah disepakati dengan jelas. Secara lebih rinci, peran QA dalam Sprint Planning antara lain:

  1. Fasilitator Kualitas: QA berperan sebagai penasihat kualitas yang memastikan bahwa aspek kualitas tidak terabaikan dalam perencanaan sprint. Mereka membantu tim dalam memahami implikasi kualitas dari setiap cerita pengguna yang dipilih.
  2. Analisis Persyaratan: QA melakukan analisis mendalam terhadap cerita pengguna untuk mengidentifikasi ambiguitas, ketidakjelasan, atau gap pada persyaratan. Mereka membantu Product Owner dalam merumuskan kriteria penerimaan yang lebih jelas dan mudah diuji.
  3. Identifikasi Risiko: QA mengidentifikasi potensi risiko kualitas yang mungkin muncul selama sprint, seperti integrasi kompleksitas, ketergantungan pada sistem eksternal, atau batasan uji lingkungan.
  4. Strategi Pengujian: QA merencanakan strategi pengujian yang akan diterapkan selama sprint, termasuk pemilihan jenis pengujian (unit, integrasi, fungsional, kinerja), persiapan data uji, dan pengaturan lingkungan uji.
  5. Perencanaan Kapasitas: QA memberikan estimasi realistis untuk aktivitas pengujian dan memastikan bahwa beban kerja pengujian bisa seimbang dengan kapasitas pengembangan untuk menghindari hambatan.

Bagaimana Peran QA dalam Proses Agile?

Untuk memahami peran QA secara menyeluruh dalam proses Agile, penting untuk melihat bahwa kontribusinya tidak hanya terbatas pada pengujian. Berikut beberapa dimensi penting yang menggambarkan peran QA:

1.    QA sebagai Quality Enabler, bukan hanya Bug Finder

Dalam pendekatan Scrum yang iteratif dan kolaboratif, QA tidak hanya mencari bug setelah produk selesai dikembangkan. QA justru terlibat sejak awal guna mencegah bug sejak dini, sesuai dengan prinsip Shift Left Testing. Pendekatan ini mempercepat proses umpan balik dan mengurangi biaya perbaikan.

2.    QA dalam Three Amigos

Dalam praktik Agile, dikenal sesi Three Amigos, yaitu diskusi antara QA, pengembang, dan product owner sebelum sprint dimulai. QA berkontribusi dengan menyusun skenario uji, mengantisipasi kemungkinan kesalahan (termasuk edge cases), dan memastikan bahwa acceptance criteria dapat diuji dengan jelas.

3.    Kolaborasi dalam Sprint Refinement dan Sprint Review

QA terlibat dalam sesi Refinement dengan menyiapkan test case awal dan menyarankan skenario pengujian. Pada sesi Sprint Review, QA turut membantu mendemonstrasikan fitur dan memastikan bahwa semua aspek pengujian dan dokumentasi telah terpenuhi.

4.    Kontribusi QA terhadap Definition of Done (DoD)

QA turut memastikan bahwa Definition of Done mencakup aspek-aspek kualitas, misalnya:

      Semua acceptance criteria telah dipenuhi.

      Unit test dan automated test telah dijalankan.

      Tidak ada critical bug yang tersisa.

      Dokumentasi pengujian sudah lengkap.

5.    Integrasi Pengujian Otomatis

Dalam konteks Continuous Integration/Continuous Delivery (CI/CD) yang  yang umum digunakan bersama Scrum, QA memiliki peran penting dalam menyiapkan pengujian otomatis, khususnya untuk regresi. Hal ini membantu memastikan kestabilan fitur yang telah dirilis, serta mendukung proses rilis yang lebih cepat dan minim risiko.

Dengan demikian, dapat disimpulkan bahwa pada pendekatan Agile, QA dilibatkan sejak tahap awal untuk memastikan kualitas menjadi perhatian utama di setiap tahapan pengembangan. Gambar berikut merangkum lima peran utama QA dalam proyek Agile:

  1. QA terlibat sejak awal sprint, agar pengujian bisa berjalan bersamaan dengan pengembangan.
  2. QA berkolaborasi dengan Developer, Product Owner, dan Stakeholder untuk menciptakan produk berkualitas.
  3. QA memastikan setiap user story memenuhi Definition of Done (DoD).
  4. QA menyusun dan menjalankan acceptance test untuk memvalidasi fitur.
  5. QA memegang tanggung jawab atas kualitas produk untuk memastikan keberlangsungan dan stabilitas proyek dalam siklus pengembangan yang berkelanjutan.

Gambar 1.4.1 Peran QA dalam Proyek Agile

Studi Kasus: Peran QA Dalam Proyek Agile

Sebuah tim pengembang aplikasi keuangan digital (fintech) sedang mengembangkan fitur baru bernama Request Payment via QR Code. Fitur ini memungkinkan pengguna untuk mengirim permintaan pembayaran kepada orang lain menggunakan kode QR.

Struktur Tim Scrum:

      Product Owner (PO): Menyusun user story dan menentukan prioritas backlog.

      Scrum Master: Memfasilitasi kegiatan sprint planning, daily stand-up, dan retrospective.

      Developer (3 orang): Membangun sisi frontend dan backend dari fitur yang dikembangkan.

      QA Engineer (1 orang): Terlibat secara aktif dalam setiap tahapan sprint.

Dalam Sprint Planning minggu ini, user story utama adalah:

User Story #123
Sebagai pengguna, saya ingin membuat kode QR untuk meminta pembayaran, agar saya bisa menerima uang dari orang lain dengan lebih mudah.

Kriteria Penerimaan (Acceptance Criteria):

      Pengguna dapat menentukan jumlah dan deskripsi pembayaran.

      Kode QR dapat dibagikan ke pihak lain.

      Kode QR harus bersifat unik dan terhubung langsung ke akun pengguna.

      Hasil pemindaian harus sesuai dengan yang diharapkan, artinya informasi yang muncul dari hasil scan (seperti tautan, teks, dan lainnya) harus akurat dan sesuai.

      Pastikan kode QR dapat dipindai dengan baik, jangan sampai terjadi kegagalan dalam proses pemindaian.

      Pembayaran dapat dilakukan dengan memindai QR melalui aplikasi lain.

Peran QA dalam Sprint Planning:

      Analisis Kebutuhan & Klarifikasi
QA mengajukan beberapa pertanyaan untuk memperjelas detail fitur, seperti:

      “Apa yang terjadi jika pengguna membuat QR dengan nominal kosong?”

      “Apakah kode QR bisa kadaluarsa?”

      “Fitur ini akan diimplementasikan di OS apa?”

Berdasarkan diskusi tersebut, Product Owner (PO) kemudian menambahkan tiga kriteria penerimaan baru, termasuk ketentuan validasi dan masa aktif dari kode QR.

      Strategi Pengujian
QA kemudian mengusulkan pendekatan pengujian yang akan diterapkan, di antaranya:

      Positive test: Membuat dan memindai QR

      Negative test: Menguji skenario QR yang sudah kadaluarsa atau tidak valid

      Load test: Mengirimkan 10.000 permintaan pembayaran dalam waktu satu jam untuk menguji ketahanan sistem.

      Perencanaan Kapasitas
QA memperkirakan bahwa pengujian regresi untuk fitur ini akan membutuhkan waktu satu hari, karena fitur tersebut terhubung dengan beberapa modul lain yang berpotensi terdampak.

Last modified: Wednesday, 20 August 2025, 11:30 AM