Mengenal Lebih Lanjut tentang User Acceptance Test (UAT)
Sarah Juliandiny Maret 13, 2023 6 min read
Dalam proses pengembangan perangkat lunak, terdapat proses yang dinamakan User Acceptance Testing (UAT).
User acceptance testing adalah salah satu tahap dari software development yang memastikan bahwa suatu sistem/produk dirilis dalam kualitas terbaiknya.
Simak artikel berikut untuk mengetahui mengenai definisi, fungsi, hingga langkah dan template user acceptance testing.
Definisi user acceptance testing
Berdasarkan Stanford University IT, user acceptance testing yang juga sering disebut dengan beta testing atau end-user testing merupakan fase pengembangan sistem/perangkat lunak yang diuji secara langsung oleh end-user atau business representative.
User acceptance testing tidak melakukan pengujian yang berfokus pada fungsi dan menu yang dibangun oleh developer, melainkan berfokus pada sisi tim bisnis untuk memverifikasi bahwa sistem telah memenuhi seluruh business requirement dengan skenario dan data yang mewakili penggunaan aktual di dunia nyata–setelah dirilis.
Tipe-tipe user acceptance testing
Alpha dan beta testing
Alpha testing dilakukan oleh para karyawan internal, sedangkan beta testing mencakup environment customer dengan bantuan beberapa customer (beta teseter) yang mencoba sistem atau perangkat lunak yang dibangun.
Black box testing
Jenis pengujian ini adalah pengujian fungsional yang mencakup semua fungsi sistem atau perangkat lunak, tetapi tidak perlu memahami struktur coding yang dibuat oleh developer.
Dalam proses pengujian ini, penguji tidak dituntut untuk mengerti codingan yang dibangun, seluruh pengujian hanya memastikan seluruh fungsi sistem berjalan normal.
Contract acceptance testing
Pengujian ini adalah tipe pengujian yang menguji perangkat lunak yang memiliki batasan berdasarkan beberapa kriteria yang sudah ditentukan sebelumnya pada kontrak tertulis.
Seluruh tahapan pengujian sudah ditentukan dalam suatu kontrak, sehingga pengujian yang dilakukan hanya sebatas pada kontrak yang telah disepakati.
Operational acceptance testing
Jenis pengujian ini memastikan bahwa semua alur kerja yang digunakan dalam sistem berfungsi dengan baik.
Operational acceptance testing mengacu pada workflow, sehingga harus dipastikan bahwa seluruh workflow yang terdapat pada sistem berjalan baik.
Regulation acceptance testing
Jenis pengujian yang satu ini merupakan pengujian yang berkaitan dengan compliance.
Pengujian dilakukan untuk membantu dalam menyelidiki sistem atau perangkat lunak yang dibangun sudah sesuai dan memenuhi seluruh pedoman proses hukum dan pemerintahan. Sehingga tidak adanya pelanggaran hukum yang terjadi saat menjalankan sistem tersebut.
Fungsi dan manfaat user acceptance testing
Beberapa fungsi penting dijalankannya user acceptance testing adalah:
- Mencegah terjadinya kesalahan di sisi production
- Memastikan sistem bekerja sesuai dengan kebutuhan dan fungsi
- Membantu mengidentifikasi bahwa hasil akhir dari suatu sistembekerja sesuai dengan semestinya
- Memastikan bahwa sistem atau fitur yang diteruskan ke pengguna berjalan tanpa adanya bug
- Membantu mengidentifikasi bug yang mungkin tertinggal selama proses pengembangan sistem
- Meningkatkan kepuasan user terkait fungsionalitas sistem ketika menjalankan sistem dengan lancar tanpa terkendala dan sesuai dengan requirements yang diusulkan
Evaluasi kegunaan, fungsionalitas, desain sistem, serta memverifikasi apakah aplikasi itu ramah pengguna dan dapat menangani task di kondisi nyata adalah salah satu fungsi penting dari dijalankannya user acceptance testing.
Tantangan dalam melakukan UAT
Tentunya banyak tantangan yang muncul saat melakukan pengembangan perangkat lunak, tak terkecuali saat menjalankan UAT. Banyak hal-hal yang dapat menjadi kendala ketika jalannya proses UAT, berikut di antaranya.
Test case berkemungkinan memiliki kesalahan
Test case yang dibuat oleh tim bisnis berkemungkinan memiliki kesalahan.
Maka dari itu, penting untuk tim quality assurance atau functional tester untuk meninjau kembali sebagai orang yang memahami konsep pengujian perangkat lunak. Namun, jika terbatas pada hal ini, user acceptance testing dinilai belum ideal.
Functional tester harus menjalankan user acceptance testing
Meminta functional testers untuk menjalankan user acceptance testing juga bukan merupakan ide yang bagus.
Ketika sistem atau perangkat lunak sudah dirilis ke live environment, masih ada kemungkinan end-user menemukan issue dan bug terkait skenario yang terjadi di lapangan yang tidak ditemukan oleh functional tester.
Solusi untuk hal ini adalah dengan mempercayakan pengujian ini kepada penguji yang berdedikasi dan terampil yang memiliki pengetahuan bisnis.
Komunikasi jadi hal yang sangat penting
Kurangnya komunikasi dapat menyebabkan kendala dalam menjalankan user acceptance testing.
Jika tester, developer, business amenalyst, dan pihak terkait lainnya tidak dapat mengomunikasikan masalah apa pun secara tepat waktu, perbaikan bug akan tertunda yang akan mempengaruhi timeline pengembangan sistem ke depannya.
Maka dari itu, membangun komunikasi dan kerja sama tim yang baik adalah kunci dari suksesnya user acceptance testing.
Kebutuhan penggunaan data real
Tidak menggunakan data real juga dapat menimbulkan masalah.
Ketika suatu fitur atau sistem dirasa perlu untuk diuji menggunakan data real, maka penting untuk menyiapkan data tersebut lebih dahulu.
Karena ketika pengujian dilakukan hanya mengandalkan data dummy, akan ada gap dan issue yang mungkin akan terlewat atau tidak terdeteksi saat pengujian dilakukan.
Siapa yang bertanggung jawab atas UAT?
Berdasarkan namanya, user acceptance test dijalankan oleh user atau client yang mengajukan request terhadap sistem atau fitur sesuai dengan kebutuhan bisnis.
Orang yang paling penting untuk disertakan dalam pengujian UAT adalah “real” end-user dari pengguna sistem atau perangkat lunak yang dibangun.
Test case dari tahap user acceptance testing disiapkan oleh business analyst (yang umumnya merupakan pihak client/user), yang kemudian ditinjau dan disetujui oleh business owner (pada kasus ini, merupakan tim bisnis yang bertanggung jawab atas request sistem atau fitur tersebut).
Quality Assurance (QA) juga dapat membantu tim bisnis dalam menjalankan user acceptance testing. Namun, perlu digaris bawahi bahwa quality assurance di sini berdiri dengan sudut pandang tim bisnis, bukan tim developer.
Quality assurance menempatkan diri sebagai user, sehingga perlu memikirkan seluruh kemungkinan yang dilakukan user saat menjalankan sistem atau fitur tersebut.
Langkah-langkah user acceptance testing
Apa saja yang harus dipersiapkan sebelum menjalankan UAT? Serta tahapan apa saja yang dilakukan untuk menjalankan UAT?
Simak langkah-langkah UAT berikut ini:
- Saat di awal tahap pengembangan, siapkan rencana UAT sebagai inisiasi awal dalam memulai project
- Buat to-do-list dan rincikan apa saja yang akan dilakukan saat menjalankan UAT
- Adakan diskusi pre UAT ketika menjalankan SIT, untuk mematangkan rencana UAT
- Tetapkan expected result pada tiap tahapan UAT dan definisikan scope kerja dari UAT dengan jelas
- Lakukan pengujian secara end-to-end mengacu pada alur bisnis
- Uji sistem dengan skenario dan data real berdasarkan kasus yang terjadi di lapangan
- Bersikap menjadi pengguna yang awam dan belum mengenal sistem (seperti pengguna baru)
- Jalankan usability testing untuk menentukan apakah pengguna dapat menggunakan sistem/aplikasi dengan lancar, seberapa efisien dan efektif aplikasi membantu mencapai tujuan, dan apakah pengguna puas dengan sistem/aplikasi yang digunakan
- Dokumentasikan seluruh hasil UAT
- Setelah semuanya terselesaikan, penanggung jawab UAT wajib memberikan sign-off sebagai bukti bahwa UAT telah berjalan dengan baik serta memenuhi semua exit criteria
- Terakhir, adakan sesi pemberian feedback terkait hasil UAT sebelum sistem di-deploy ke production atau live environment
Exit criteria user acceptance testing
Berikut adalah template exit criteria untuk user acceptance testing berdasarkan lampiran dari Stanford University IT.
Demikian sedikit pembahasan tentang user acceptance testing dari Pacmann.
Buat kamu yang ingin belajar lebih lanjut mengenai software dan data engineering, cek halaman program Software and Data Engineering Pacmann.
Ingin diskusi lebih lanjut atau ada feedback mengenai artikel ini? Hubungi Pacmann via Twitter.
Further reading:
User Acceptance Testing (UAT): What It Is and How to Adopt It
User Acceptance Testing Tools and Checklist
User Acceptance Testing – How To Do It Right
Artikel Popular
Data Engineer dan ML Engineer: Perbedaan Tanggung Jawab, Skill, dan Gaji
July 23, 2023
Mengenal Data Preprocessing: Langkah Awal dalam Data Mining
July 21, 2023
Apa yang Dimaksud dengan Machine Learning?
July 21, 2023
Ini Dia Alasan Mengapa Data Scientist Digaji Besar!
July 20, 2023
Pentingnya Business Intelligence (BI) Dashboard untuk Pengambilan Keputusan Bisnis
July 19, 2023