Pengujian

Lihat sumber

Edge case dan matriks regresi

Rujukan kebijakan: Aturan bisnis. Kolom bukti menyebut test yang tersedia; tersedia tidak sama dengan telah lulus pada production. Hasil eksekusi ada di Test Report.

Waktu, jadwal, dan keputusan

ID / USKondisiHasil yang wajibBukti
EC-01 / US-03Tepat 48 jam; satu ms kurang; beda tanggal WIBTepat batas valid; kurang ditolak; tidak berbasis tanggal sajareservation-policy, edgeCases
EC-02 / US-03Form terbuka melewati batas 48 jamSubmit menghitung ulang; server tetap menolakpolicy + validasi mutation
EC-03 / US-01/03Slot lewat atau kurang 48 jamAbu-abu/nonaktif, alasan jelas; tidak dapat dipilih via keyboardPlaywright edge-cases
EC-04 / US-03/09Ada pengajuan pendingInformasi saja; tetap boleh mengajukan jika aturan waktu terpenuhireservations
EC-05 / US-09Dua petugas approve rentang bertabrakanMaksimal satu approved; keputusan kedua mendapat hasil sesuai keadaan terbarureservations (Convex transaction fixture)
EC-06 / US-09Selesai booking A sama dengan mulai BTidak dianggap overlapreservation-time
EC-07 / US-03Double-click/retry setelah response hilangID sama, bukan booking ganda; retry setelah batas 48 jam juga amanedgeCases
EC-08 / US-08/09Pending melewati waktu mulai, cron belum berjalanStatus efektif expired; approval ditolak; tidak ikut dampak penutupanreservations, edgeCases
EC-09 / US-04/10Batalkan tanpa alasan / akun orang lainForm fokus input; server menolak; pemilik/peran diverifikasicore-stories, authz
EC-10 / US-05Perubahan jadwal belum disetujui/ditolak/expiredJadwal lama tetap approved; proposal tidak mengunci jadwal barureservations, static-data
EC-11 / US-09Jadwal baru ditempati saat proposal menungguApproval perubahan ditolak; jadwal lama tidak hilangreservations
EC-12 / US-09Akun pemohon atau fasilitas dinonaktifkan sebelum approvalKeputusan ditolak, bukan memakai status saat form dibukavalidasi mutation

Gangguan, pekerjaan, dan penutupan

ID / USKondisiHasil yang wajibBukti
EC-13 / US-11Klik mulai tanpa dampak/keterangan publikTidak memulai pekerjaan; validasi client dan serveredgeCases + dialog
EC-14 / US-11/12Perbaikan kecil, fasilitas masih amanWork starts; jadwal tetap terbuka; booking lama/baru mendapat info gangguanedgeCases, facilityIssues
EC-15 / US-11/12Kerusakan berbahaya dengan pending, approved, kegiatan berjalanPreview baca saja; konfirmasi membatalkan data terdampak dalam satu mutation dan mengirim pesanedgeCases, emergencyClosures
EC-16 / US-12Estimasi berlalu / refresh / browser ditutupPenutupan tidak otomatis dibukaedgeCases
EC-17 / US-11Selesai tanpa catatan atau tanpa memastikan amanDitolak; status dan closure tetapreports, edgeCases
EC-18 / US-12Dua laporan menutup fasilitas yang samaMenyelesaikan satu tidak membuka selama yang lain masih berjalanedgeCases
EC-19 / US-12Penutupan manual + laporan berbahaya/selesaiLong repair dieskalasi ke safety dan booking ditarik; closure manual tetap tertutup setelah laporan selesaiedgeCases, static-data
EC-20 / US-12Buka kembali setelah booking dibatalkanBooking tidak hidup kembali; kirim pemberitahuan bukaedgeCases
EC-21 / US-12Jadwal perbaikan terencana bentrok booking/pendingTidak boleh menimpa; cari slot kosong. Pending expired tidak memblokirmaintenance
EC-22 / US-12Gangguan masa depan / selesaiBanner hanya relevan pada tanggal/rentang; tidak dianggap gangguan sekarangfilter UI + facilityIssues
EC-23 / US-11Retry mulai/selesai atau perubahan bersamaanRetry status sama idempotent; tidak menggandakan issue/closureedgeCases

Data, akses, dan operasi

ID / USKondisiHasil yang wajibBukti
EC-24 / US-05/07Akses ID reservasi/laporan akun lainBackend owner check; tidak membocorkan nama/tujuan/fotoauthz, notifications
EC-25 / US-16Arsip fasilitas yang pernah digunakanHistori dan foreign references tetap; sembunyikan katalog, dapat diaktifkan kembalifacilities
EC-26 / US-16Nonaktifkan fasilitas dengan kegiatan aktifTolak; gunakan penutupan beralasan dan notifikasifasilitas + closure tests
EC-27 / US-05Lebih 50 notifikasi / ganti akunSemua histori lewat pagination milik akun; klik menuju reservasi terkaitedgeCases, Playwright
EC-28 / US-17CSV dengan formula, anonim, non-admin, server errorEscape formula; bedakan 401, 403, 500; angka periode sesuai definisicsv, admin-export
EC-29 / US-15Pending sign-up saat akun admin masih aktifTidak memberi sesi pending dan tidak signOut semua akunauth tests; dynamic E2E belum diverifikasi untuk rilis ini
EC-30 / lintas USRefresh/tab lain/mobile/dark mode/jaringan gagalState server sumber utama; error mempertahankan input; pending mencegah kirim ulangstatic browser + follow-up dynamic UAT

Pengujian yang tetap membutuhkan deployment

Convex-test bukan browser dengan cookie Better Auth nyata. Race dua perangkat, cron produksi, putus-sambung websocket, persetujuan akun, multi-session beda peran, dan pemulihan insiden perlu QA development/preview. Jangan menyebutnya lulus hanya karena fixture mutation lulus.

Asumsi yang belum ditetapkan (no-show, durasi/kuota, retensi, blackout kampus, horizon pemesanan) dicatat sebagai pertanyaan kebijakan, bukan disamarkan sebagai fitur. Pesan aplikasi bukan prosedur evakuasi: petugas tetap menghubungi pengguna yang sedang berada di fasilitas berbahaya.

Semua dokumentasi