SPMB Manual UAT — Semua Role, Semua Alur¶
Modul: SPMB · Versi: 2.0 · Tanggal: 1 Mei 2026
Audiens: Tester non-teknis (QA manual)
Estimasi Total: ~3 jam (semua role)
Daftar Isi¶
- Prasyarat
- Panduan Pengisian
- Matriks Cakupan
- PUBLIC (Tanpa Login) — 12 TC
- PENDAFTAR (Calon Siswa) — 20 TC
- ADMIN (Operator SPMB) — 18 TC
- ADMIN STAFF (Tata Usaha) — 8 TC
- KEPALA SEKOLAH — 5 TC
- WAKA KESISWAAN — 6 TC
- WAKA HUMAS — 6 TC
- KEAMANAN AKSES (RBAC) — 8 TC
- ERROR & EDGE CASES — 12 TC
- Formulir Tanda Tangan
1. Prasyarat¶
| Item | Detail |
|---|---|
| URL Frontend | https://<domain>/spmb atau http://localhost:5173/spmb |
| URL Backend | https://be-dev.gcgscola.id atau http://127.0.0.1:8069 |
| Browser | Chrome/Edge terbaru, Incognito terpisah per role |
Akun yang Dibutuhkan¶
| Role | Cara Dapat | URL Login |
|---|---|---|
| Public | Tidak perlu login | /spmb |
| Pendaftar | Buat baru saat tes | /spmb/register |
| Admin | Dari tim DevOps | /login |
| Admin Staff | Dari tim DevOps | /login |
| Kepala Sekolah | Dari tim DevOps | /login |
| Waka Kesiswaan | Dari tim DevOps | /login |
| Waka Humas | Dari tim DevOps | /login |
Data Seed¶
Pastikan sebelum mulai:
- [ ] Min 1 gelombang status Pendaftaran Dibuka (state
application) - [ ] Gelombang punya jalur + kuota (Domisili, Afirmasi, Prestasi, Mutasi)
- [ ] Min 1 gelombang dengan tes CBT (
selection_method = cbt_only) - [ ] Min 1 gelombang tanpa tes (
selection_method = admin_only) - [ ] Min 1 gelombang berbayar (
is_paid_admission = true) - [ ] Min 1 gelombang gratis (
is_paid_admission = false) - [ ] Min 1 jenis tes + jadwal tes status Open
2. Panduan Pengisian¶
Untuk setiap test case: 1. Ikuti Langkah persis 2. Centang ✓ tiap item di Checklist 3. Isi Hasil Aktual jika beda dari harapan 4. Tandai Status: PASS / FAIL / SKIP 5. Jika FAIL → tulis Catatan + screenshot
Prioritas: P0 = wajib PASS (blocker) · P1 = penting · P2 = nice-to-have
3. Matriks Cakupan¶
| # | Role | TC | Estimasi |
|---|---|---|---|
| 1 | Public | 12 | 15 min |
| 2 | Pendaftar | 20 | 45 min |
| 3 | Admin | 18 | 60 min |
| 4 | Admin Staff | 8 | 20 min |
| 5 | Kepala Sekolah | 5 | 10 min |
| 6 | Waka Kesiswaan | 6 | 15 min |
| 7 | Waka Humas | 6 | 15 min |
| 8 | RBAC | 8 | 15 min |
| 9 | Error & Edge | 12 | 20 min |
| TOTAL | 95 | ~3 jam |
4. PUBLIC (Tanpa Login)¶
Buka Incognito baru. Pastikan tidak ada session.
PUB-001 · Landing Page · P0¶
URL: /spmb
-
Buka
/spmb -
[ ] Halaman termuat (bukan blank/404)
- [ ] Judul "Pendaftaran Peserta Didik Baru" atau "SPMB" terlihat
- [ ] Tombol "Mulai Daftar" terlihat
- [ ] Link "Cek Status" terlihat
- [ ] Link "Login" terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-002 · Registrasi Akun (Happy Path) · P0¶
URL: /spmb/register
- Isi: Nama=
Tester UAT, Email=email aktif, HP=08123456789, Password=Test1234!, Konfirmasi=Test1234! -
Klik "Daftar"
-
[ ] Form lengkap (Nama, Email, HP, Password, Konfirmasi)
- [ ] Setelah klik → redirect ke
/spmb/verify-email - [ ] Notifikasi sukses muncul
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-003 · Registrasi (Validasi Error) · P1¶
URL: /spmb/register
| # | Coba | Harapan | ✓ |
|---|---|---|---|
| a | Klik Daftar tanpa isi apapun | Error validasi di field kosong | ☐ |
| b | Email format salah (abc) |
"Format email tidak valid" | ☐ |
| c | Password < 8 karakter | "Password minimal 8 karakter" | ☐ |
| d | Konfirmasi tidak cocok | "Password tidak cocok" | ☐ |
| e | Email sudah terdaftar | "Email sudah terdaftar" | ☐ |
| f | HP format salah (abc) |
Error format HP | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-004 · Verifikasi Email (Happy Path) · P0¶
URL: /spmb/verify-email
- Cek email → salin OTP 6 digit
-
Input OTP → Klik "Verifikasi Email"
-
[ ] Email OTP diterima (1–5 menit)
- [ ] Input OTP 6 digit tersedia
- [ ] Setelah OTP benar → "Email Berhasil Diverifikasi" → redirect
/spmb/login
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-005 · Verifikasi Email (OTP Salah & Resend) · P1¶
| # | Coba | Harapan | ✓ |
|---|---|---|---|
| a | OTP salah 000000 |
"Kode OTP tidak valid" | ☐ |
| b | Klik "Kirim Ulang OTP" | OTP baru dikirim | ☐ |
| c | OTP expired lalu verify | "OTP sudah kadaluarsa" | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-006 · Login Pendaftar (Happy Path) · P0¶
URL: /spmb/login
-
Isi email & password yang sudah diverifikasi → Klik "Masuk"
-
[ ] Form: Email, Password, Tombol "Masuk"
- [ ] Link "Belum punya akun? Daftar" tersedia
- [ ] Login berhasil → redirect ke halaman pendaftaran
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-007 · Login Pendaftar (Gagal) · P1¶
| # | Coba | Harapan | ✓ |
|---|---|---|---|
| a | Password salah | "Email atau password salah" | ☐ |
| b | Email tidak terdaftar | "Email atau password salah" | ☐ |
| c | Email belum diverifikasi | Pesan belum verifikasi / redirect verify | ☐ |
| d | Semua field kosong | Error validasi | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-008 · Cek Status (Happy Path) · P0¶
URL: /spmb/status
-
Input nomor pendaftaran valid (format
SPMB-2026-XXX) → Klik "Cek Status" -
[ ] Form input terlihat
- [ ] Data ditemukan: Nama, Status, Jalur, Gelombang
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-009 · Cek Status (Tidak Ditemukan) · P1¶
-
Input
SPMB-0000-999→ Klik "Cek Status" -
[ ] Pesan "Data tidak ditemukan"
- [ ] Tidak crash, bisa coba lagi
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-010 · Statistik Transparansi · P1¶
URL: /spmb/statistics
- [ ] Halaman termuat
- [ ] Statistik: Gelombang Aktif, Total Kuota, Total Pendaftar
- [ ] ATAU "Belum ada data" jika kosong
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-011 · Monitor Kuota · P1¶
URL: /spmb/public/quota-monitor
- [ ] Sisa kuota per jalur/gelombang terlihat
- [ ] Angka wajar (≥0)
- [ ] ATAU "Belum ada data"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PUB-012 · Responsif Mobile · P2¶
- Buka DevTools (F12) → device toolbar → 375px width
-
Cek
/spmb,/spmb/register,/spmb/login -
[ ] Tidak ada horizontal scroll
- [ ] Tombol & input bisa diklik
- [ ] Text readable
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
5. PENDAFTAR (Calon Siswa)¶
Login sebagai pendaftar (dari PUB-006 atau akun existing).
PEND-001 · Buat Pendaftaran Baru · P0¶
URL: /spmb/admission/new · Estimasi: 5 min
- Pilih gelombang aktif → Pilih jalur → Isi gender, tanggal lahir, HP
-
Klik "Lanjutkan Pendaftaran"
-
[ ] Gelombang aktif muncul dengan info kuota
- [ ] Jalur terlihat dengan sisa kuota
- [ ] Redirect ke
/spmb/admission/<id> - [ ] Notifikasi sukses
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-002 · Buat Pendaftaran (Kuota Penuh) · P1¶
Prasyarat: Jalur dengan kuota = 0
- [ ] Jalur kuota penuh → disabled / "Kuota Penuh"
- [ ] Tidak bisa dipilih
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-003 · Isi & Simpan Data Pribadi · P0¶
Estimasi: 10 min
- Di halaman detail, isi semua field:
- Data Pribadi: nama, tempat/tanggal lahir, agama, HP, NISN, NIK, No KK, No Akta
- Orang Tua: nama, NIK, HP, pekerjaan, email
- Alamat: jalan, kota, kode pos
- Sekolah Asal: nama, NPSN, alamat
-
Klik "Simpan Data"
-
[ ] Semua field muncul
- [ ] NIK / No KK tervalidasi 16 digit
- [ ] Tanggal lahir tidak bisa masa depan
- [ ] Simpan → "Data berhasil disimpan"
- [ ] Refresh → data tetap ada
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-004 · Data Khusus Jalur · P1¶
| Jalur | Field Tambahan | ✓ |
|---|---|---|
| Domisili | Alamat KK, lat/long, tgl terbit KK | ☐ |
| Afirmasi | Jenis afirmasi, no kartu | ☐ |
| Prestasi | Rata-rata rapor, daftar prestasi | ☐ |
| Mutasi | Instansi, no surat pindah, tanggal | ☐ |
- [ ] Field sesuai jalur muncul, jalur lain tidak
- [ ] Simpan berhasil
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-005 · Upload Dokumen · P0¶
URL: /spmb/admission/<id>/documents
- Upload setiap dokumen wajib (JPG/PNG/PDF)
- Coba upload file >5MB
-
Coba upload file .exe
-
[ ] Daftar dokumen wajib terlihat
- [ ] Upload berhasil + preview muncul
- [ ] File >5MB → error "Ukuran terlalu besar"
- [ ] File .exe → error "Format tidak didukung"
- [ ] Indikator kelengkapan berubah
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-006 · Hapus Dokumen · P1¶
-
Klik hapus pada dokumen → Konfirmasi
-
[ ] Dialog konfirmasi muncul
- [ ] Dokumen hilang setelah hapus
- [ ] Indikator kelengkapan ter-update
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-007 · Tambah/Edit/Hapus Prestasi · P1¶
URL: /spmb/admission/<id>/achievements
- Tambah Prestasi → isi nama, tingkat, tahun → Simpan
- Edit → ubah data → Simpan
-
Hapus → Konfirmasi
-
[ ] Tambah berhasil, muncul di daftar
- [ ] Edit berhasil
- [ ] Hapus berhasil (konfirmasi dulu)
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-008 · Submit Pendaftaran · P0¶
Prasyarat: Profil + dokumen wajib lengkap
-
Klik "Submit Pendaftaran" → Dialog → "Ya"
-
[ ] Tombol Submit muncul hanya jika lengkap
- [ ] Dialog: "Setelah submit, data tidak bisa diubah"
- [ ] Submit berhasil → status "Disubmit"
- [ ] Tombol Submit hilang, form read-only
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-009 · Submit (Data Belum Lengkap) · P1¶
- Buka pendaftaran yang belum lengkap dokumen
-
Coba klik Submit
-
[ ] Tombol disabled / tidak muncul
- [ ] ATAU error "Lengkapi dokumen wajib"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-010 · Jadwal Tes (Ada Jadwal) · P1¶
URL: /spmb/admission/<id>/tests
Prasyarat: Gelombang dengan tes, pendaftar sudah dikonfirmasi
- [ ] Daftar jadwal tes terlihat (nama, tanggal, jam, lokasi)
- [ ] Status kehadiran: "Belum Hadir"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-011 · Jadwal Tes (Tanpa Tes) · P1¶
Prasyarat: Gelombang admin_only / portfolio
- [ ] Pesan "Seleksi tidak memerlukan tes masuk"
- [ ] Tidak ada daftar jadwal
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-012 · CBT Tes Masuk · P0¶
URL: /spmb/cbt → /spmb/cbt/runner/<exam_id> · Estimasi: 10 min
Prasyarat: Gelombang CBT + jadwal aktif + pendaftar di-assign
- Buka
/spmb/cbt→ Lihat daftar ujian -
Klik "Mulai Tes" → Jawab min 3 soal → Submit
-
[ ] Daftar ujian muncul (nama, durasi, jumlah soal)
- [ ] CBT Runner termuat + soal pertama
- [ ] Timer berjalan
- [ ] Navigasi soal berfungsi
- [ ] Submit berhasil → halaman skor/konfirmasi
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-013 · Buat Pengaduan · P1¶
URL: /spmb/admission/<id>/complaints
-
Klik "Buat Pengaduan" → Isi kategori, judul, deskripsi → Kirim
-
[ ] Form lengkap (kategori, judul, deskripsi, lampiran)
- [ ] Kirim berhasil → status "Diajukan"
- [ ] Pengaduan muncul di daftar
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-014 · Pengumuman Diterima · P0¶
Prasyarat: State admission
-
Login → Buka detail pendaftaran
-
[ ] Banner "Diterima" terlihat
- [ ] Skor/penilaian terlihat (jika ada)
- [ ] Link ke "Daftar Ulang" terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-015 · Daftar Ulang Berbayar · P0¶
URL: /spmb/admission/<id>/enrollment
Prasyarat: State admission, is_paid_admission = true
-
Lihat tagihan → "Lanjut ke Pembayaran" → "Cetak Invoice" → "Konfirmasi Daftar Ulang"
-
[ ] Tagihan terlihat dengan nominal
- [ ] Pembayaran bisa diakses
- [ ] Invoice bisa download
- [ ] Konfirmasi → status "Selesai" (done)
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-016 · Daftar Ulang Gratis · P1¶
Prasyarat: is_paid_admission = false
- [ ] TIDAK ada section tagihan
- [ ] Langsung "Konfirmasi Daftar Ulang" → done
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-017 · Status Cadangan (Waitlist) · P1¶
Prasyarat: State pending
- [ ] Label "Cadangan" terlihat
- [ ] Info posisi cadangan (jika ada)
- [ ] TIDAK ada tombol "Daftar Ulang"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-018 · Status Ditolak · P1¶
Prasyarat: State reject
- [ ] Label "Ditolak" terlihat
- [ ] Alasan penolakan (jika ada)
- [ ] Tidak ada tombol aksi
- [ ] Link pengaduan terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-019 · Logout & Session Expired · P1¶
| # | Coba | Harapan | ✓ |
|---|---|---|---|
| a | Klik Logout | → /spmb/login, session bersih |
☐ |
| b | Akses /spmb/admission/<id> setelah logout |
→ /spmb/login |
☐ |
| c | Tab idle 30+ menit, lalu klik navigasi | → login + "Sesi berakhir" | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
PEND-020 · Responsif Mobile · P2¶
-
Resolusi 375px → buka detail pendaftaran, navigasi tab, coba simpan
-
[ ] Tab scrollable/dropdown
- [ ] Form bisa diisi
- [ ] Tombol terlihat
- [ ] Tidak overflow
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
6. ADMIN (Operator SPMB)¶
Login sebagai Admin di Incognito terpisah.
ADM-001 · Dashboard · P0¶
URL: /admin/spmb/dashboard
- [ ] Dashboard termuat
- [ ] Statistik: total pendaftar, per status, per jalur
- [ ] Angka konsisten (total = sum per status)
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-002 · Daftar Gelombang · P0¶
URL: /admin/spmb/periode
- [ ] Tabel gelombang: nama, tanggal, status, jumlah pendaftar
- [ ] Badge status berwarna
- [ ] Klik baris → navigasi ke daftar pendaftar
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-003 · Tambah Gelombang · P0¶
-
Klik "Tambah" → Isi modal (nama, tahun ajaran, semester, tanggal, jenjang, jalur+kuota) → Simpan
-
[ ] Modal form lengkap
- [ ] Dropdown dari master data
- [ ] Jalur + kuota bisa ditambah
- [ ] Simpan → muncul di tabel, status "Draft"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-004 · Edit Gelombang · P1¶
-
Klik edit (pensil) → Ubah nama/tanggal → Simpan
-
[ ] Modal edit dengan data existing
- [ ] Simpan → data ter-update
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-005 · Hapus Gelombang · P0¶
| # | Skenario | Harapan | ✓ |
|---|---|---|---|
| a | Hapus draft tanpa pendaftar |
Berhasil | ☐ |
| b | Hapus done tanpa pendaftar |
Berhasil | ☐ |
| c | Hapus cancel tanpa pendaftar |
Berhasil | ☐ |
| d | Hapus application (aktif) |
Tombol hapus TIDAK muncul | ☐ |
| e | Hapus done + ada pendaftar |
Tombol hapus TIDAK muncul | ☐ |
- [ ] Dialog konfirmasi sebelum hapus
- [ ] Error message informatif (bukan generic)
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-006 · Ubah Status Gelombang · P0¶
-
Klik menu status → Ubah: Draft → Confirm → Application → Done
-
[ ] Transisi valid berhasil
- [ ] Transisi tidak valid ditolak
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-007 · Daftar Pendaftar dalam Gelombang · P0¶
URL: /admin/spmb/periode/register/<id>/applications
- [ ] Tabel: nama, no pendaftaran, jalur, status, tanggal
- [ ] Filter by status/jalur tersedia
- [ ] Klik baris → detail
- [ ] Tombol Export (CSV)
- [ ] Tombol "Hitung Ranking"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-008 · Transisi State Pendaftar · P0¶
URL: /admin/spmb/periode/admission/<id> · Estimasi: 10 min
| # | State Awal → Aksi → State Akhir | ✓ |
|---|---|---|
| a | submit → Konfirmasi Data → confirm |
☐ |
| b | confirm → Terima → admission |
☐ |
| c | confirm → Cadangkan → pending |
☐ |
| d | pending → Terima dari Cadangan → admission |
☐ |
| e | admission → Enroll Siswa → done |
☐ |
| f | draft–pending → Tolak → reject |
☐ |
- [ ] Setiap transisi: status header berubah, tombol berubah, notifikasi sukses
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-009 · Verifikasi Dokumen · P0¶
- Detail pendaftar → tab Dokumen
-
Preview → Verifikasi → Tolak (pada dokumen lain)
-
[ ] Preview bisa dibuka
- [ ] Verifikasi → badge "Terverifikasi"
- [ ] Tolak → dialog alasan → badge "Ditolak"
- [ ] Download berfungsi
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-010 · Ranking · P0¶
URL: /admin/spmb/ranking
- [ ] Tabel: peringkat, nama, skor, status
- [ ] Urutan skor tertinggi
- [ ] Filter gelombang tersedia
- [ ] Klik baris → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-011 · Hitung Ulang Ranking · P1¶
-
Daftar pendaftar → Klik "Hitung Ranking"
-
[ ] Loading indicator
- [ ] Notifikasi "Ranking berhasil dihitung ulang"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-012 · Promote Cadangan · P1¶
Prasyarat: Ada pendaftar state pending
-
Klik "Promote Cadangan" → Konfirmasi
-
[ ] Dialog jumlah yang di-promote
- [ ] Cadangan →
admission - [ ] Notifikasi sukses
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-013 · Hub Tes + 4 Sub-Halaman · P1¶
| # | URL | ✓ |
|---|---|---|
| a | /admin/spmb/test (Hub) |
☐ |
| b | /admin/spmb/test/schedule (Jadwal) |
☐ |
| c | /admin/spmb/test/types (Jenis Tes) |
☐ |
| d | /admin/spmb/test/participants (Peserta) |
☐ |
| e | /admin/spmb/test/results (Hasil) |
☐ |
- [ ] Semua termuat, tidak 404
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-014 · Buat Jadwal Tes · P0¶
URL: /admin/spmb/test/schedule · Estimasi: 5 min
-
Klik "Buat Jadwal Baru" → Isi: Gelombang, Jenis Tes, Tanggal, Jam 08:00–10:00, Lokasi, Kapasitas 30 → Simpan
-
[ ] Dropdown gelombang & jenis tes terisi
- [ ] Simpan → jadwal muncul di grid
- [ ] Card: nama, tanggal, lokasi, kapasitas 0/30
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-015 · Auto-Assign Peserta Saat Konfirmasi · P0¶
Prasyarat: Jadwal tes open + gelombang dengan tes · Estimasi: 10 min
- Detail pendaftar
submit→ Klik "Konfirmasi" -
Buka jadwal tes → tab Peserta
-
[ ] Pendaftar otomatis muncul di tab Peserta
- [ ] Jumlah peserta di card bertambah
- [ ] Pendaftar menerima notifikasi jadwal tes
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-016 · Sync CBT + Kehadiran + Nilai · P1¶
Prasyarat: Jadwal linked ke CBT
- Tab CBT → "Sync Peserta"
- Tab Peserta → "Hadir" pada satu peserta
-
Card → "Sync Nilai"
-
[ ] Sync peserta berhasil
- [ ] "Hadir" → status + timestamp berubah
- [ ] Sync nilai → skor CBT muncul
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-017 · Pengaduan · P1¶
URL: /admin/spmb/complaints
- Klik baris → detail
- Proses (state →
in_progress) -
Selesaikan (→
resolved) atau Tolak (→rejected) -
[ ] Daftar / "Belum ada"
- [ ] Detail terbuka
- [ ] Transisi berhasil
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
ADM-018 · Konfigurasi (7 Halaman) · P1¶
| # | URL | ✓ |
|---|---|---|
| a | /admin/spmb-config |
☐ |
| b | /admin/spmb-config/education-levels |
☐ |
| c | /admin/spmb-config/pathways |
☐ |
| d | /admin/spmb-config/document-types |
☐ |
| e | /admin/spmb-config/scholarship-types |
☐ |
| f | /admin/spmb-config/parent-relationships |
☐ |
| g | /admin/spmb-config/sic |
☐ |
- [ ] Semua termuat, data atau "Belum ada data"
Status: ☐ PASS ☐ FAIL ☐ SKIP · Catatan: ___
7. ADMIN STAFF (Tata Usaha)¶
Login sebagai Admin Staff.
AS-001 · Dashboard · P0¶
URL: /admin-staff/admissions/dashboard
- [ ] Dashboard termuat, statistik terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-002 · Ranking · P0¶
URL: /admin-staff/admissions/ranking
- [ ] Tabel ranking terlihat · Klik baris → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-003 · Periode & Drill-Down · P1¶
URL: /admin-staff/admissions/periods
- [ ] Daftar gelombang → klik → daftar pendaftar → klik → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-004 · Tes (5 Halaman) · P1¶
| # | URL | ✓ |
|---|---|---|
| a | /admin-staff/admissions/test |
☐ |
| b | /admin-staff/admissions/test/schedule |
☐ |
| c | /admin-staff/admissions/test/types |
☐ |
| d | /admin-staff/admissions/test/participants |
☐ |
| e | /admin-staff/admissions/test/results |
☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-005 · Pengaduan · P1¶
URL: /admin-staff/admissions/complaints
- [ ] Daftar terlihat · Klik → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-006 · Tidak Bisa CRUD Gelombang · P1¶
- [ ] Di
/admin-staff/admissions/periods: TIDAK ada tombol Tambah/Hapus gelombang
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-007 · Export Data · P2¶
- [ ] Tombol Export di daftar pendaftar → file ter-download
Status: ☐ PASS ☐ FAIL ☐ SKIP
AS-008 · Tidak Bisa Akses Konfigurasi · P1¶
- [ ] Buka
/admin/spmb-config→ redirect / forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
8. KEPALA SEKOLAH¶
Login sebagai Kepala Sekolah. Akses read-only.
PR-001 · Dashboard · P0¶
URL: /principal/admissions/dashboard
- [ ] Dashboard + statistik termuat
Status: ☐ PASS ☐ FAIL ☐ SKIP
PR-002 · Ranking · P0¶
URL: /principal/admissions/ranking
- [ ] Tabel ranking terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
PR-003 · Periode & Drill-Down · P1¶
URL: /principal/admissions/periods
- [ ] Gelombang → pendaftar → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
PR-004 · Tidak Ada Tombol Aksi · P1¶
- [ ] Di detail pendaftar: TIDAK ada Konfirmasi/Terima/Tolak
Status: ☐ PASS ☐ FAIL ☐ SKIP
PR-005 · Tidak Bisa Akses Route Admin/Config · P1¶
- [ ]
/admin/spmb/dashboard→ redirect/forbidden - [ ]
/admin/spmb-config→ redirect/forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
9. WAKA KESISWAAN¶
Login sebagai Waka Kesiswaan.
VPSA-001 · Dashboard · P0¶
URL: /vice-principal/student-affairs/admissions/dashboard
- [ ] Dashboard termuat
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPSA-002 · Ranking · P0¶
URL: /vice-principal/student-affairs/admissions/ranking
- [ ] Tabel ranking · Klik → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPSA-003 · Periode & Drill-Down · P1¶
URL: /vice-principal/student-affairs/admissions/periods
- [ ] Gelombang → pendaftar → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPSA-004 · Detail Pendaftar · P1¶
- [ ] Data pribadi, dokumen, ranking terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPSA-005 · Tidak Ada Aksi Edit · P1¶
- [ ] TIDAK ada tombol transisi state
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPSA-006 · Tidak Bisa Akses Admin Route · P1¶
- [ ]
/admin/spmb/dashboard→ redirect/forbidden - [ ]
/admin/spmb-config→ redirect/forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
10. WAKA HUMAS¶
Login sebagai Waka Humas.
VPPR-001 · Dashboard (via PPDB redirect) · P0¶
URL: /vice-principal/public-relations/ppdb
- [ ] Redirect ke dashboard SPMB
- [ ] Dashboard termuat
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPPR-002 · Ranking · P0¶
URL: /vice-principal/public-relations/admissions/ranking
- [ ] Tabel ranking terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPPR-003 · Periode & Drill-Down · P1¶
URL: /vice-principal/public-relations/admissions/periods
- [ ] Gelombang → pendaftar → detail
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPPR-004 · Detail Pendaftar · P1¶
- [ ] Detail lengkap terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPPR-005 · Tidak Ada Aksi Edit · P1¶
- [ ] TIDAK ada tombol transisi state
Status: ☐ PASS ☐ FAIL ☐ SKIP
VPPR-006 · Tidak Bisa Akses Admin Route · P1¶
- [ ]
/admin/spmb/dashboard→ redirect/forbidden - [ ]
/admin/spmb-config→ redirect/forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
11. KEAMANAN AKSES (RBAC)¶
Tes isolasi antar role.
RBAC-001 · Tanpa Login → Route Pendaftar · P0¶
Buka Incognito:
| URL | Expected | ✓ |
|---|---|---|
/spmb/admission/new |
→ /spmb/login |
☐ |
/spmb/admission/1 |
→ /spmb/login |
☐ |
/spmb/admission/1/documents |
→ /spmb/login |
☐ |
/spmb/admission/1/enrollment |
→ /spmb/login |
☐ |
/spmb/cbt |
→ /spmb/login |
☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-002 · Tanpa Login → Route Admin · P0¶
| URL | Expected | ✓ |
|---|---|---|
/admin/spmb/dashboard |
→ /login |
☐ |
/admin/spmb/ranking |
→ /login |
☐ |
/admin/spmb/periode |
→ /login |
☐ |
/admin/spmb-config |
→ /login |
☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-003 · Pendaftar → Route Admin · P0¶
Login pendaftar:
| URL | Expected | ✓ |
|---|---|---|
/admin/spmb/dashboard |
Redirect/forbidden | ☐ |
/admin/spmb/ranking |
Redirect/forbidden | ☐ |
/admin/spmb/periode |
Redirect/forbidden | ☐ |
/admin/spmb-config |
Redirect/forbidden | ☐ |
/admin/spmb/complaints |
Redirect/forbidden | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-004 · Admin → Route Pendaftar · P1¶
Login admin:
| URL | Expected | ✓ |
|---|---|---|
/spmb/admission/1 |
Redirect ke admin dashboard | ☐ |
/spmb/admission/new |
Redirect ke admin dashboard | ☐ |
/spmb/cbt |
Redirect ke admin dashboard | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-005 · Admin Staff → Konfigurasi · P1¶
Login admin staff:
| URL | Expected | ✓ |
|---|---|---|
/admin/spmb-config |
Redirect/forbidden | ☐ |
/admin/spmb/proctor |
Redirect/forbidden | ☐ |
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-006 · Kepala Sekolah → Route Admin · P1¶
Login kepsek:
- [ ]
/admin/spmb/dashboard→ redirect/forbidden - [ ]
/admin/spmb/test/schedule→ redirect/forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-007 · Waka → Route Admin · P1¶
Login waka (kesiswaan atau humas):
- [ ]
/admin/spmb/dashboard→ redirect/forbidden - [ ]
/admin/spmb-config→ redirect/forbidden
Status: ☐ PASS ☐ FAIL ☐ SKIP
RBAC-008 · Akses Pendaftaran Orang Lain · P0¶
Login pendaftar A, coba akses admission milik pendaftar B:
-
Buka
/spmb/admission/<id_milik_B> -
[ ] Redirect / forbidden / "Anda tidak memiliki akses"
- [ ] Data pendaftar B TIDAK terlihat
Status: ☐ PASS ☐ FAIL ☐ SKIP
12. ERROR & EDGE CASES¶
Skenario tidak biasa yang harus ditangani dengan baik.
EDGE-001 · Double Submit · P0¶
-
Klik "Submit Pendaftaran" → saat loading, klik lagi
-
[ ] Tidak terjadi duplikasi
- [ ] Tombol disabled saat loading
- [ ] Hanya 1 submit terproses
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-002 · Double Klik Simpan · P1¶
-
Di form data pribadi, klik "Simpan" 2x cepat
-
[ ] Tidak error / duplikasi
- [ ] Data tersimpan 1x
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-003 · Backend Down / Maintenance · P1¶
-
(Simulasi) Matikan backend → coba buka halaman
-
[ ] Pesan error user-friendly ("Tidak dapat terhubung ke server")
- [ ] BUKAN halaman putih atau error teknis
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-004 · Upload File 0 Byte · P2¶
-
Upload file kosong (0 byte)
-
[ ] Error "File kosong" atau "File tidak valid"
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-005 · NIK/KK Dengan Huruf · P1¶
-
Di form data pribadi, isi NIK =
12345678901234AB -
[ ] Validasi: "NIK harus 16 digit angka"
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-006 · Tanggal Lahir Masa Depan · P1¶
-
Isi tanggal lahir = tanggal besok
-
[ ] Tidak bisa dipilih / error validasi
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-007 · XSS di Input Text · P1¶
-
Di nama lengkap, isi:
<script>alert('xss')</script> -
[ ] Input di-sanitize / escape
- [ ] TIDAK muncul dialog alert saat view
- [ ] Text ditampilkan apa adanya
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-008 · Gelombang Sudah Tutup · P1¶
Prasyarat: Gelombang state done atau tanggal tutup sudah lewat
-
Coba akses
/spmb/admission/new→ pilih gelombang tersebut -
[ ] Gelombang tidak muncul / disabled / pesan "sudah ditutup"
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-009 · Concurrent State Transition · P1¶
- Buka detail pendaftar di 2 tab browser
- Di tab 1: klik "Konfirmasi"
-
Di tab 2: klik "Konfirmasi" (setelah tab 1 selesai)
-
[ ] Tab 2: error "Status sudah berubah" atau refresh otomatis
- [ ] BUKAN duplikasi transisi
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-010 · Refresh Halaman Saat Proses · P1¶
-
Sedang proses simpan → tekan F5
-
[ ] Setelah refresh: data konsisten (tersimpan atau belum, tapi tidak corrupt)
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-011 · Multi Pendaftaran (Satu Akun) · P1¶
- Login pendaftar yang sudah punya 1 pendaftaran aktif
-
Coba buat pendaftaran baru di gelombang berbeda
-
[ ] Bisa (jika diizinkan) → 2 pendaftaran terlihat
- [ ] ATAU pesan "Anda sudah terdaftar"
Status: ☐ PASS ☐ FAIL ☐ SKIP
EDGE-012 · Proktor Dashboard · P1¶
URL: /admin/spmb/proctor
- [ ] Halaman termuat (pilih jadwal / "Pilih jadwal")
- [ ] Tidak 404
Status: ☐ PASS ☐ FAIL ☐ SKIP
13. Formulir Tanda Tangan¶
| Item | Detail |
|---|---|
| Tanggal UAT | _ / ___ / 2026 |
| Penguji | _______ |
| Environment | ☐ Development ☐ Staging ☐ Production |
| Browser | _______ |
| Versi Aplikasi | _______ |
Ringkasan Hasil¶
| Kategori | Total | Pass | Fail | Skip |
|---|---|---|---|---|
| Public | 12 | |||
| Pendaftar | 20 | |||
| Admin | 18 | |||
| Admin Staff | 8 | |||
| Kepala Sekolah | 5 | |||
| Waka Kesiswaan | 6 | |||
| Waka Humas | 6 | |||
| RBAC | 8 | |||
| Error & Edge | 12 | |||
| TOTAL | 95 |
Keputusan¶
- [ ] LULUS — Semua P0 PASS, tidak ada blocker
- [ ] LULUS BERSYARAT — Semua P0 PASS, ada minor issue di backlog
- [ ] GAGAL — Ada P0 FAIL, perlu perbaikan sebelum go-live
Catatan Keputusan:
Tanda Tangan Penguji: ____
Tanda Tangan Penanggung Jawab: ____