Peran System Analyst di fase testing: menerjemahkan use case menjadi test scenario yang terlacak, menyiapkan dan memfasilitasi User Acceptance Test bersama pengguna sungguhan, mengelola triage defect, hingga proses sign-off — dipraktikkan menjadi rencana UAT lengkap untuk pilot TokoKita

Setelah di episode 13 kalian memetakan integrasi QRIS, akuntansi, dan supplier, sistem TokoKita kini terbangun dan masuk fase penentu sebelum go-live pilot: testing — khususnya User Acceptance Test. Episode ini membahas peran SA sebagai pendukung testing: dari menyusun test scenario sampai memfasilitasi sign-off.
Mengapa SA tidak bisa berlepas di fase ini? Karena QA menguji apakah sistem bekerja sesuai spesifikasi, tetapi hanya kalian yang tahu apakah spesifikasinya sendiri benar. Saat tester menemukan perilaku aneh, keputusan "ini bug atau begini memang desainnya?" hanya bisa dijawab pemilik requirement. Lebih penting lagi: UAT adalah momen kebenaran analisis kalian — setiap ambiguitas yang lolos dari episode-episode lalu akan muncul sebagai pertanyaan, bug, atau debat di ruang UAT ini.
Testing modern bertingkat, dan tiap tingkat punya pemilik utama:
| Tingkat | Menguji Apa | Pelaku Utama | Peran SA |
|---|---|---|---|
| Unit test | Fungsi kecil kode | Developer | — |
| Integration test | Sambungan antar komponen & API eksternal | Developer/QA otomatis | Review cakupan skenario gagal |
| System test | Sistem utuh vs spesifikasi | QA | Klarifikasi, update spec |
| UAT | Kesesuaian bagi pengguna bisnis | Pengguna nyata | Pemilik proses |
Fokus episode ini di baris terakhir. Prinsipnya: semakin ke atas piramida, semakin dekat dengan pertanyaan bisnis "apakah ini menyelesaikan masalah?" — dan itu ranah alami analyst.
Test scenario yang baik lahir dari requirement yang bernomor (episode 4). Rantai pelacakannya (traceability):
FR-07 / UC-01 / US-12 -> TC-014 ... TC-021
Setiap requirement minimal punya 1 scenario;
setiap scenario selalu merujuk sumbernya.Matriks pelacakan sederhana menjawab dua risiko sekaligus: requirement tanpa scenario (tidak akan dites) dan scenario tanpa requirement (uji mubazir atau fitur tak diminta).
Format scenario yang kita pakai di 05-uat/:
ID : TC-016
Referensi : UC-02, INT-01, NFR-05
Jenis : Fungsional - integrasi
Prasyarat : Shift aktif; produk "Teh Kotak" stok 12;
koneksi internet normal
Langkah :
1. Scan Teh Kotak x1 (total Rp 4.500)
2. Tekan BAYAR -> pilih QRIS
3. Scan QR dengan e-wallet, setujui
Hasil diharapkan :
a. QR tampil maksimal 10 detik
b. Status berubah "LUNAS" otomatis <= 5 detik
setelah bayar
c. Struk tercetak dengan baris QRIS + issuer
d. Stok Teh Kotak menjadi 11
e. Callback ganda dikirim simulator -> transaksi
tetap satu catatan (idempotency)
Status : [ ] Pass [ ] Fail Penguji: ____ Tanggal: ____Perhatikan langkah (e): scenario integrasi wajib menguji mode gagal yang kita rancang di episode 13 — callback ganda, timeout, fallback tunai. Scenario bahagia-saja adalah pemborosan UAT paling umum.
NFR juga butuh scenario terukur — bukan "terasa cepat":
| ID | Referensi | Cara Uji | Kriteria |
|---|---|---|---|
| TC-N01 | NFR-02 | Matikan internet, buat 10 trx, nyalakan ulang | Semua tersinkron maksimal 60 detik, nol duplikat |
| TC-N02 | NFR-01 | Ukur waktu buka keranjang 20 item x 20 kali | P95 di bawah 2 detik |
| TC-N03 | NFR-04 | Lakukan penyesuaian stok, cek audit log | Tercatat user-waktu-alasan lengkap |
Kegagalan UAT sering soal persiapan, bukan sistem. Checklist TokoKita:
Important
Aturan emas fasilitasi: biarkan penguji berjuang dulu sebelum dibantu. Setiap kali Sinta ragu 10 detik di sebuah tombol, itu data usability — catat waktu dan lokasi layarnya, jangan buru-buru menunjukkan. Bantuan prematur membeli kesan lancar dengan harga temuan hilang.
Temuan UAT dicatat dalam log dengan dua sumbu penilaian yang sering tertukar:
| Butuh segera | Bisa menunggu | |
|---|---|---|
| Dampak besar (uang/hilang data) | P1: fix sebelum go-live | P2: rilis kedua |
| Dampak kecil | P3: fix jika sempat | P4: backlog |
Contoh nyata TokoKita: struk tidak tercetak tapi transaksi tersimpan = severity tinggi, priority sedang (work-around: cetak ulang); total kembalian salah Rp 500 pada diskon = severity tampak kecil, priority kritis — uang salah merusak kepercayaan dan rekonsiliasi.
Alur penanganannya sederhana namun disiplin:
Keputusan triage "bug atau begini memang desainnya" adalah kontribusi khas SA: kalau desainnya yang keliru, update spesifikasi dan komunikasikan ke stakeholder — jangan biarkan dev "memperbaiki" sesuai spec yang ternyata salah.
UAT harus punya garis finis yang disepakati sebelum mulai. Exit criteria pilot TokoKita:
Sign-off bukan formalitas tanda tangan, melainkan serah terima tanggung jawab: sponsor menyatakan sistem siap dipakai produksi, dan keputusan itu berdasarkan bukti log UAT — bukan tekanan jadwal. Dokumen sign-off satu halaman: lingkup yang diuji, ringkasan pass/fail, defect tersisa beserta mitigasinya, nama-tanggal-tanda tangan.
Tip
Simpan video layar sesi UAT kasir. Rekaman 10 menit Sinta memakai sistem adalah artefak onboarding paling efektif untuk training cabang berikutnya — dan bukti due diligence saat ada pertanyaan pasca-go-live.
Inti yang harus dibawa pulang:
Sistem sudah lulus di tangan penggunanya — tantangan berikutnya justru manusiawi: bagaimana membuat seluruh organisasi menerima cara kerja baru. Di episode 15 selanjutnya kita membahas change management & adoption: program training kasir, strategi komunikasi rollout, dan rencana adopsi supaya sistem TokoKita benar-benar dipakai, bukan sekadar terinstall. Pastikan tetap semangat!