System Integration Testing (SIT) dan User Acceptance Testing (UAT)

Jessycha Tampubolon
7 min readJan 10, 2022

--

Pengujian adalah aktivitas yang menentukan keberhasilan produk. Saat proses perancangan dimulai, semua desain awal adalah “hipotesis”. Maka, rancangan tersebut masih perlu diuji. Selama siklus pengembangan produk, suatu produk mengalami berbagai jenis pengujian.

System Integration Testing (SIT)

System Integration Testing (SIT) adalah pengujian software yang berfokus untuk mengecek interaksi dan interface dari sistem yang ada. Software engineer dapat menilai sistemnya secara keseluruhan dengan menguji interaksi di antara modul-modul software apakah modul-modul yang sebelumnya dibuat terpisah dapat berfungsi dengan baik ketika disatukan.

Cara menjalankan SIT adalah dengan menguji masing-masing modul terlebih dahulu, mengintegrasikan modul, lalu menguji program secara keseluruhan. Untuk menjalankan SIT, metode yang dapat digunakan adalah black box, grey box, atau white box testing. Dalam SIT, terdapat empat pendekatan utama, yaitu :

1. Big bang

Dengan menggunakan pendekatan ini, semua modul atau komponen digabungkan dan akan diuji dalam sekali percobaan. Ketika ada kesalahan, akan sulit untuk mencari sumbernya karena dari awal langsung digabungkan.

2. Top-down

Pendekatan top-down dimulai dari modul paling atas lalu berlanjut ke modul-modul bawahnya

3. Bottom-up

Bottom up berfokus pada pengujian unit yang ada di bawah terlebih dahulu baru ke paling atas.

4. Hybrid/sandwich

Sistem dianggap seperti sandwich yang memiliki tiga lapisan, yaitu roti atas, roti bawah, dan isian. Isian di bagian tengah merupakan target utamanya. Keuntungan pendekatan ini adalah lapisan atas dan bawah dapat diuji secara bersamaan. Kekurangannya adalah pendekatan ini tidak menguji sub system satu per satu terlebih dahulu.

User Acceptance Testing (UAT)

User Acceptance Testing (UAT) merupakan pengujian akhir dari pengembangan sebuah produk untuk memvalidasi bahwa sistem yang dibangun telah sesuai dengan kebutuhan pengguna, yaitu memenuhi persyaratan dan harapan pengguna. UAT juga disebut dengan nama lain seperti beta testing dan end user testing. Tahap ini adalah tahap penentuan apakah sebuah produk sudah layak atau belum untuk masuk ke tahap launching. UAT biasanya berfokus kepada fungsionalitas software.

UAT menggunakan data yang berkesinambungan antara use case (fungsi/proses) yang satu dengan yang lain dari awal hingga akhir. Output dari UAT adalah sebuah dokumen hasil uji yang dapat dijadikan bukti bahwa software sudah diterima dan sudah memenuhi kebutuhan yang diminta.

Ada banyak cara untuk mengembangkan sistem tetapi secara garis besar diklasifikasikan menjadi 2 kategori, yaitu :

  1. Sequential development

Sequential development menggunakan urutan tahapan pengembangan dimana UAT adalah tingkat pengujian akhir yang menguji sistem yang telah diselesaikan sehubungan dengan persyaratan bisnis.

2. Iterative development

Dalam Iterative development, gambarannya seperti pengembangan Agile, desain dan pengujian berlangsung selama sprint pendek sehingga fungsionalitas sistem tersedia secara bertahap di akhir setiap sprint. UAT akan diperlukan sebelum meluncurkan setiap sprint.

UAT biasanya dilakukan dalam tekanan karena dilakukan sesaat sebelum sistem dirilis ke pengguna akhir agar mereka dapat menggunakannya, sehingga perlu dicari cara untuk melakukan yang terbaik dalam waktu terbatas . Oleh karena itu, teknik penentuan prioritas dilakukan untuk menjalankan pengujian yang paling penting terlebih dahulu. Ini disebut pengujian berbasis risiko. Tingkat risiko untuk setiap persyaratan diidentifikasi dan persyaratan diurutkan berdasarkan prioritas.

Siapa yang melakukan UAT?
UAT tidak dilakukan oleh penguji profesional, namun oleh pengguna akhir, yaitu orang yang akan menggunakan sistem secara teratur. Mengapa UAT tidak dilakukan oleh tim pengembang sistem?

Pertama, anggota tim mungkin melewatkan beberapa user journey karena merasa sudah mengetahuinya. Akibatnya, menjadi lebih sulit untuk mengidentifikasi kekurangan sistem.

Kedua, pengujian dengan anggota tim tidak akan mencerminkan reaksi pengguna yang sebenarnya pada sistem. Misalnya, tidak mungkin untuk mengetahui apakah pengguna tertarik pada suatu produk atau tidak.

Mengapa UAT penting dilakukan?

1. Mempermudah kerja software developer

Kritik dan saran dari user akan mempermudah pihak software development untuk memperbaiki kesaahan pengembangan software.

2. Menyesuaikan dengan user

UAT melibatkan user yang memang akan menggunakan software atau mungkin sudah pernah menggunakannya sehingga bisa diketahui apakah software sudah berfungsi semestinya dan user friendly.

3. Mengurangi Biaya Kerugian
Biaya memperbaiki cacat setelah produk dirilis di pasar jauh lebih tinggi daripada memperbaikinya sebelumnya.

Tipe — tipe UAT

Tipe — tipe UAT yaitu :

1. Alpha & Beta Testing

Alpha testing adalah uji coba software yang dilakukan untuk mencari bugs yang biasanya dilakukan oleh staf internal di lingkup pengembangan software.

Beta testing mirip dengan istilah sebagai “tes lapangan” karena merupakan uji coba software oleh user yang menggunakan aplikasi atau website. Setelah uji coba tersebut, feedback yang diberikan akan menjadi bahan pengembangan software.

2. Contract Acceptance Testing

Contract Acceptance Testing adalah uji coba software yang didasarkan pada beberapa kriteria spesifik yang sudah disetujui di dalam kontrak.

3. Regulation Acceptance Testing

Uji coba ini ditujukan untuk memastikan bahwa software yang sudah dikembangkan sesuai dengan peraturan tertentu, misalnya peraturan hukum.

4. Operational Acceptance Testing

Operational Acceptance Testing berfokus pada workflow yang memungkinkan sistem atau software untuk digunakan.

5. Black Box Testing

Black Box Testing dikategorikan sebagai uji coba fungsionalitas dimana end user akan menguji fungsi software tanpa melihat struktur kode internalnya. Hasil tes akan menunjukkan apakah user dapat menggunakan sistem yang dibuat.

Pendekatan dalam Melakukan UAT
Pendekatan UAT didasarkan pada 3 elemen, yaitu :

  1. Business requirements

Test cases yang dibuat harus mencakup persyaratan bisnis. Test cases dapat ditulis segera setelah spesifikasi persyaratan ditentukan. Kerugian dari pendekatan ini adalah jika persyaratan memiliki kesalahan maka test cases juga akan salah.

2. Business processes

Test cases berbasis proses bisnis ditulis untuk memastikan bahwa sistem akan bekerja dalam mendukung proses bisnis. Test cases harus dapat menunjukkan bahwa persyaratan telah dipenuhi dengan cara bagaimana organisasi akan menggunakan sistem.

3. User expectations
Test cases didasarkan pada entri data, interaksi, dan pelaporan.

Tahapan Melakukan UAT

Penting untuk memastikan tahapan berikut dilakukan agar proses UAT berjalan dengan optimal

  1. Memulai proyek pengujian
  • Identifikasi pemangku kepentingan utama
  • Pilih pemimpin tim
  • Komunikasikan tujuan bisnis dan tujuan user pada sistem
  • Tentukan sumber daya tim
  • Buat dokumentasi untuk mendukung pengujian
  • Mulai pelatihan pengujian

2. Merencanakan pengujian

  • Identifikasi pendekatan terbaik untuk pengujian
  • Tentukan apakah maksud bisnis dan harapan pengguna telah dipahami dan dapat diukur.
  • Verifikasi bahwa persyaratan bisnis telah dipahami
  • Verifikasi bahwa semua jenis persyaratan telah disertakan.
  • Pastikan bahwa ruang lingkupnya jelas dan relevan.
  • Memverifikasi proses bisnis.
  • Evaluasi dokumentasi saat ini untuk dijadikan sebagai dasar pengujian.

3. Desain Pengujian

  • Tentukan strategi pengujian.
  • Tinjau kondisi pengujian.
  • Tinjau kasus pengujian.
  • Pastikan bahwa tes mencakup semua persyaratan.
  • Tinjau skrip pengujian.

4. Eksekusi Pengujian

  • Periksa lingkungan pengujian.
  • Tetapkan jadwal pengujian.
  • Pastikan log pengujian selalu diperbarui.
  • Memastikan insiden dilaporkan secara akurat dan tepat waktu.
  • Hasilkan laporan ringkasan pengujian.

5. Keputusan Rilis

  • Siapkan laporan penyelesaian pengujian
  • Laporkan status kepada pemangku kepentingan utama

Tips melakukan UAT

1) Perencanaan

Functional requirement

Mendata hal-hal apa saja yang ingin diuji dalam UAT dan apakah requirement ini sudah sesuai dengan tujuan bisnis.

Strategi tes

Merencanakan bagaimana cara pengujian dilakukan dan siapa yang akan melakukan dan menerima pengujian. Tetapkan ekspektasi yang jelas seputar hasil yang diinginkan untuk UAT. Baik anggota tim maupun peserta tes harus memahami mengapa perlu melakukan UAT. Ketika orang memahami nilai kegiatannya, mereka lebih senang untuk berpartisipasi di dalamnya.

Skenario tes

Skenario ini berfungsi untuk memvalidasi bahwa seluruh sistem bekerja dengan baik. Skenario ini bisa disiapkan oleh product owner atau business analyst. Misalnya, salah satu dari skenario tes UAT adalah “cek fungsi dari tombol beli” pada aplikasi belanja.

Karena tujuan UAT adalah untuk menilai apakah produk dapat mendukung operasi sehari-hari, semua tugas untuk UAT harus dibuat berdasarkan skenario di dunia nyata. Skenario pengujian harus menjadi representasi yang baik dari user journey.

Hal yang perlu diperhatikan saat membuat test scenario adalah sebagai berikut.

  1. Buat skenario pengujian dengan langkah pengujian yang jelas.
  2. Jauhi bahasa berorientasi bisnis . Gunakan bahasa umum yang dimengerti pengguna untuk menjelaskan tugas.
  3. Test plan mungkin dibuat di sekitar tiga tugas paling umum teratas, atau tiga tugas paling sulit teratas.

Standar dari laporan tes

Buat laporan dan informasi apa saja yang dibutuhkan.

2) Pilih user dengan bijak

Produk dicoba oleh target user yang sesuai dengan model bisnis. Apa masalah/kebutuhan mereka? Apa motivasi mereka? Bagaimana cara menjangkau mereka? Ketika memiliki semua informasi ini sebelum memulai UAT, kita akan mendapat hasil yang terarah

3) Dokumentasi

Persiapkan rencana pengujian jauh-jauh hari sebelumnya. Buat Skenario berdasarkan kebutuhan bisnis lalu dokumentasikan hasil dari uji coba.

4) Komunikasi yang baik

Komunikasi antara tim product, tester, tim manajemen dan tim software development harus dilakukan dengan efektif.

5) Mengadakan training untuk user

Lakukan uji coba pengujian sebelum melakukan sesi pengujian aktual dengan pengguna sesungguhnya. Setelah itu, sebaiknya dilakukan training atau briefing supaya memberikan gambaran bagi user seperti :

· Mengenalkan user kepada proses testing dan objektif yang ingin dicapai.

· Melatih user untuk menggunakan tools jika menggunakan tools tertentu.

· Memberitahukan standar dari report dan guideline.

· Pastikan user memahami hal-hal apa saja yang mau dites.

6) Menganalisis Output dari UAT

UAT harus difokuskan pada pelacakan tanggapan pengguna pada interaksi dengan produk. Setelah menyelesaikan UAT, peserta tes mungkin melaporkan beberapa masalah, mengubah permintaan, atau fungsi baru. Maka, akan didapat banyak data dari user yang akan berguna dalam proses perbaikan. Dalam beberapa kasus, ada baiknya melakukan wawancara cepat setelah pengujian dengan peserta tes. Apakah produk lulus atau gagal setelah pengujian ditentukan oleh kriteria penerimaan sehingga yang terbaik adalah mendefinisikan kriteria penerimaan dengan jelas sebelumnya.

--

--

Jessycha Tampubolon

I am a System Analyst. I love writing and sharing knowledge