Penerapan User Story untuk Meningkatkan Efektivitas Quality Assurance pada Agile Development

Wikansetya
SkyshiDigital
Published in
4 min readMar 6, 2023

Dalam article sebelumnya mengenai bagaimana pentingnya dokumentasi dalam mendukung proses pengujian oleh Quality Assurance (QA) telah sedikit menyinggung tentang membuat dokumen user story. Article ini kita akan melanjutkan pembahasan tentang user story dalam proses kerja QA pada metodologi agile.

(Image Source: freepik.com)

Seperti yang sudah kita ketahui, sekarang ini cara kerja di perusahaan-perusahaan startup telah mengadopsi metode agile dalam proses pengembangan perangkat lunak. Metodologi agile dalam pengembangan perangkat lunak menjadi salah satu proses yang paling efektif dan efisien untuk menerjemahkan visi bisnis ke dalam sebuah keputusan pengembangan perangkat lunak. Karena agile merespons setiap perubahan dengan fleksibilitas yang lebih besar. Pada tahap awal pngembangan perangkat lunak, biasanya akan dilakukan proses analisis kebutuhan sistem. Pengumpulan data hasil analisis tersebut akan dideskripsikan dalam sebuah user story. Kita yang bekerja dibidang pengembangan perangkat lunak pastinya sudah tidak asing dengan istilah user story.

Salah satu komponen kunci dalam pengembangan perangkat lunak adalah penggunaan user story didalam persyaratan pengembangan. User story biasanya ditulis dalam format sederhana yang mudah dipahami oleh orang-orang bisnis maupun teknis. User story adalah kisah pengguna yang menggunakan bahasa sederhana. Contoh penulisan user story:

As a (jenis pengguna), I want (melakukan tindakan tertentu atau mendapatkan suatu fungsi tertentu), So that (mendapatkan manfaat atau nilai bisnis tertentu).

As a shopper, I want to be able to filter search results by location, so that I can find sellers that are open near my home.

Dari contoh diatas kita dapat mengetahui jenis-jenis pengguna yang akan terlibat dalam sistem, cara pengguna berinteraksi dengan sistem, dan respon sistem saat menanggapi interaksi dari pengguna.

Sebagai software quality assurance, kita akan sering menemui user story dalam proses pengembangan perangkat lunak. Oleh karena itu, penting bagi QA memahami user story, untuk memastikan bahwa produk perangkat lunak memenuhi persyaratan dan standar kualitas yang ditentukan. Dalam proses kerja QA yang sering saya lakukan bersama tim agar bisa memahami bisnis proses dari pengembangan perangkat lunak dalam metodologi agile antara lain, sebagai berikut:

  1. Meninjau kembali user story yang telah dibuat, tim QA akan meninjau kembali user story untuk memahami kebutuhan dan tujuan pengguna. Kita perlu memperhatikan perspektif pengguna dan mencoba memahami kebutuhan dan harapan mereka. Dalam proses ini kita dapat memberikan tanggapan dan melakukan konfirmasi pada user story yang telah dibuat untuk memastikan semua tim telah sejalan dengan bisnis proses yang sedang dikembangkan.
  2. Mengidentifikasi kriteria yang dapat diterima (acceptance criteria), tim QA dapat bekerja bersama product owner untuk mengidentifikasi serangkaian kondisi yang harus dipenuhi agar user story dianggap lengkap. Untuk memenuhi kriteria ini kita perlu mendiskripsikannya secara spesifik, terukur, dan relevan dengan kebutuhan pengguna. Dalam sebuah acceptance criteria harus menerangkan ekspektasi yang akan terjadi saat pengguna berinteraksi dengan sistem. Selanjutnya acceptance criteria tersebut yang akan digunakan oleh tim developer sebagai panduan dan pengingat dalam implementasi suatu user story.
  3. Membuat dokumen uji (test case), berdasarkan acceptance criteria yang telah ditentukan tim QA mengembangkan dokumen test cases yang memverifikasi bahwa produk perangkat lunak memenuhi kebutuhan pengguna. Test case tersebut harus mencakup semua aspek user story, termasuk persyaratan fungsional (functionality), persyaratan kinerja (performance), dan persyaratan kegunaan (usability).
  4. Melakukan pengujian (testing), tim QA melakukan pengujian untuk memastikan bahwa produk perangkat lunak memenuhi kriteria dan kebutuhan pengguna. Pengujian harus dilakukan pada berbagai tahap proses pengembangan, termasuk unit testing, integration testing, dan system testing.
  5. Melaporkan setiap temuan masalah atau bug sistem (defects), ketika tim QA mengidentifikasi adanya bug atau masalah apa pun selama pengujian, maka mereka harus melaporkan hasil temuan tersebut kepada tim Development. Laporan bug dijelaskan secara rinci, menyertakan langkah-langkah bagaimana bug tersebut terjadi, dan bukti dapat berupa gambar, video, atau log system saat bug tersebut ditemukan. Tim development kemudian akan melakukan perbaikan dan tim QA akan menguji ulang untuk memastikan bahwa masalah telah teratasi. Masalah dianggap terselesaikan apabila dari tim QA sudah mengkonfirmasi bahwa masalah telah teratasi.
  6. Memberikan saran atau umpan balik, tim QA dapat memberikan saran atau masukan yang dapat membantu meningkatkan kualitas produk perangkat lunak dan memastikannya memenuhi kebutuhan dan harapan pengguna.

Singkatnya dalam industri pengembangan perangkat lunak, diperlukan persyaratan (requirement) yang mendefinisikan apa tujuan dari bisnisnya, apa yang sebenarnya dibutuhkan pelanggan, dan apa yang akan membuat perusahaan dapat meningkatkan bisnisnya.

Dalam metodologi agile persyaratan tersebut dapat kita peroleh dari dokumen user story. Sebagai Software Quality Assurance, memahami user story merupakan bagian penting dari proses QA perangkat lunak.

Karena dari memahami user story kita akan mendapat informasi tentang fitur-fitur yang akan dikembangkan, jenis-jenis pengguna yang akan menggunakan fitur, cara pengguna berinteraksi dengan fitur tersebut, dan respon dari sistem menanggapi pengguna. Dengan meninjau user story, mengidentifikasi acceptance criteria, mengembangkan test cases, melakukan pengujian, melaporkan defect atau bug, dan memberikan feedback, tim QA dapat membantu memastikan bahwa produk perangkat lunak memenuhi persyaratan dan standar kualitas.

--

--