Tier 1 Production Readiness UAT¶
Gate UAT komprehensif untuk menyatakan Starter / Tier 1 benar-benar siap produksi.
Last verified: 2026-03-17
Current verdict: Not yet 100%
1. Tujuan¶
Dokumen ini melengkapi uat-scenarios.md.
Perbedaannya:
- uat-scenarios.md = baseline minimum untuk memastikan surface Starter dapat diakses
- tier1-production-readiness-uat.md = sign-off operasional akhir sebelum Tier 1 boleh dinyatakan 100% production-ready
Dokumen ini dipakai ketika tim ingin menjawab pertanyaan: - apakah workflow Tier 1 sudah benar-benar selesai end-to-end? - apakah bukti yang ada cukup untuk sign-off produksi, bukan hanya smoke hijau? - workflow mana yang masih belum terbukti walau implementasinya sudah ada?
2. Exit Criteria¶
Tier 1 hanya boleh dinyatakan 100% production-ready jika seluruh syarat berikut terpenuhi:
- Semua skenario
P0danP1di dokumen ini berstatusPass. - Tidak ada skenario
P0yangBlocked,Skipped, atau hanyaSurface only. - Setiap workflow mutasi memiliki bukti:
- UI evidence
- respons API / RPC sukses
- persistence check setelah reload / revisit
- audit trail jika workflow memang mengklaim auditability
- Boundary Starter bersih dari domain pembeda Tier 2:
- LMS
- CBT sekolah
- SPMB-CBT
- payment gateway
- external channel notification
- Evidence manual konsisten dengan automated gate aktif:
setup-auth- Starter smoke
- Tier 1 workflow audit
- portal contract
- lint / build / type-check
Jika salah satu butir di atas belum terpenuhi, verdict Tier 1 tetap belum 100%.
3. Boundary Scope Starter¶
3.1 In Scope untuk Sign-Off Tier 1¶
Mengacu ke platform-tiers.md, sign-off ini hanya berlaku untuk: - akademik dasar - absensi inti manual - rapor inti - SPMB dasar - tagihan sekolah dasar - notifikasi dan pengumuman dasar - portal siswa dan orang tua - database siswa dan orang tua - user management dasar
3.2 Out of Scope untuk Sign-Off Tier 1¶
Item berikut tidak boleh dijadikan blocker Tier 1, tetapi juga tidak boleh dipakai untuk mengklaim Tier 1 lebih lengkap dari scope-nya: - LMS lengkap - CBT sekolah - SPMB-CBT / jadwal tes admission berbasis CBT - payment gateway - WhatsApp / email notification channel eksternal - multi-wave analytics - auto-generate jadwal dari teaching assignment - kalender akademik terintegrasi penuh
Catatan: - jika workflow Starter masih bergantung pada item out-of-scope di atas, maka Starter belum siap - jika smoke Starter masih menguji item out-of-scope, acceptance boundary harus diperbaiki dulu
4. Environment & Seed Data¶
4.1 Baseline yang Sudah Terbukti¶
- FE lokal:
http://localhost:5173 - Backend dev:
https://be-dev.gcgscola.id - Database:
scoladev - Auth role QA:
.env.e2e.local - Saat target backend adalah dev server remote, Playwright harus menyalakan Vite fresh dan tidak me-reuse server lama secara default. Ini mencegah false-negative ketika
localhost:5173yang hidup ternyata masih mem-proxy ke127.0.0.1:8069.
4.2 Commands Minimum¶
# 1. Refresh session semua role
E2E_ODOO_URL=https://be-dev.gcgscola.id npx playwright test tests/e2e/setup-auth.spec.ts --project=setup --workers=1
# 2. Baseline Starter
E2E_ODOO_URL=https://be-dev.gcgscola.id npm run test:e2e:smoke:starter
# 3. Audit kontrak Tier 1
E2E_ODOO_URL=https://be-dev.gcgscola.id npx playwright test tests/e2e/audit/tier1_workflow_audit.spec.ts --workers=1
Jika memang ingin memakai Vite yang sudah hidup di 5173, jalankan dengan sadar:
E2E_REUSE_EXISTING_SERVER=true \
E2E_ODOO_URL=https://be-dev.gcgscola.id \
npx playwright test tests/e2e/setup-auth.spec.ts --project=setup --workers=1
4.3 Seed Khusus SPMB¶
Known-good seed yang saat ini sudah terbukti:
- E2E_SPMB_APPLICATION_NUMBER=SPMB-2026-0005
- E2E_SPMB_ADMISSION_ID=5
Command:
E2E_ODOO_URL=https://be-dev.gcgscola.id \
E2E_SPMB_APPLICATION_NUMBER=SPMB-2026-0005 \
E2E_SPMB_ADMISSION_ID=5 \
npx playwright test tests/e2e/smoke/spmb_smoke.spec.ts --workers=1
4.4 Naming Convention untuk Data UAT Manual¶
Gunakan prefix yang mudah dilacak dan aman untuk cleanup:
- user: uat.t1.<inisial>.<tanggal>
- student: UAT T1 Student <tanggal>
- parent: UAT T1 Parent <tanggal>
- import file: uat-tier1-<workflow>-<tanggal>.csv
5. Urutan Eksekusi UAT¶
- Jalankan baseline automated gate.
- Verifikasi boundary Starter:
- menu / route Starter tidak bocor ke Tier 2
- skenario Starter tidak mengandalkan domain Professional
- Jalankan workflow admin mutasi data.
- Jalankan workflow akademik dan homeroom.
- Jalankan workflow portal siswa dan orang tua.
- Jalankan workflow finance dasar.
- Jalankan workflow SPMB publik sampai daftar ulang.
- Jalankan communication / notification checks.
- Rekap bukti dan putuskan verdict akhir.
6. Scenario Catalog¶
6.1 Admin & Master Data¶
T1-ADM-ATT-001 Admin membuat dan menyimpan attendance sheet¶
- Priority:
P0 - Roles:
admin - Preconditions:
- register kehadiran aktif
- minimal 2 siswa pada register
- Steps:
- Buka
/attendance/list - Pilih register / buat draft sheet
- Set satu siswa
H, satu siswaS/I/A - Simpan sheet
- Reload halaman / buka kembali sheet yang sama
- Expected:
- sheet berhasil dibuat
- status siswa persisten setelah reload
- total rekap sesuai input
- Evidence wajib:
- screenshot sheet tersimpan
- network response create/save
- sheet reopen dengan data yang sama
- Automation saat ini:
- unit canonical service ada
- E2E mutation belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ADM-USR-001 Admin create user, assign role, activate/deactivate¶
- Priority:
P0 - Roles:
admin - Preconditions:
- username uji belum dipakai
- Steps:
- Buka
/admin/users - Tambah user baru
- Assign role operasional sekolah
- Simpan
- Nonaktifkan akun
- Aktifkan kembali akun
- Expected:
- user muncul di list dan detail
- role assignment tersimpan
- active state berubah sesuai aksi
- Evidence wajib:
- screenshot before/after
- audit log entry
- login check untuk akun aktif
- Automation saat ini:
- smoke hanya membuka route
- mutation E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ADM-USR-002 Admin reset password dan user bisa login kembali¶
- Priority:
P0 - Roles:
admin,target user - Preconditions:
- user uji aktif
- Steps:
- Admin reset password dari UI
- Logout
- Login sebagai user target dengan password baru
- Expected:
- reset berhasil
- session user target valid
- Evidence wajib:
- screenshot reset success
- login success evidence
- Automation saat ini:
- belum ada E2E
- Gate status saat ini:
Belum terbukti penuh
T1-ADM-DATA-001 Admin tambah siswa, tambah orang tua, dan relasikan data¶
- Priority:
P0 - Roles:
admin - Preconditions:
- data siswa / ortu uji baru
- Steps:
- Tambah siswa dari UI
- Tambah orang tua
- Relasikan orang tua ke siswa
- Verifikasi detail siswa dan ortu saling mereferensikan
- Expected:
- record siswa dan orang tua tersimpan
- relasi tampil konsisten di kedua sisi
- data muncul pada list setelah reload
- Evidence wajib:
- screenshot list dan detail
- persistence setelah reload
- Automation saat ini:
- smoke hanya route-open
- mutation E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ADM-DATA-002 Admin import siswa / relasi orang tua¶
- Priority:
P1 - Roles:
admin - Preconditions:
- file CSV uji valid
- Steps:
- Upload file import siswa
- Jalankan import
- Ulangi untuk relasi orang tua jika workflow terpisah
- Expected:
- import sukses tanpa partial failure diam-diam
- record baru dapat dicari dari list
- Evidence wajib:
- file import
- hasil summary import
- sample row hasil import
- Automation saat ini:
- belum ada automated proof
- Gate status saat ini:
Belum terbukti penuh
6.2 Akademik, Absensi, dan Rapor¶
T1-ACA-ATT-001 Guru input absensi dan siswa/ortu melihat hasilnya¶
- Priority:
P0 - Roles:
teacher,student,parent - Preconditions:
- session hari ini tersedia atau kelas homeroom punya siswa
- Steps:
- Guru buka
/faculty/attendance - Input / ubah status kehadiran
- Simpan
- Login siswa dan buka
/student/attendance - Login orang tua dan buka
/parent/attendance - Expected:
- status tersimpan
- siswa dan orang tua melihat status yang sama
- Evidence wajib:
- screenshot save success
- view siswa
- view orang tua
- Automation saat ini:
- audit baru cek load/contract
- save flow belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ACA-RPT-001 Guru/Wali kelas submit rapor sampai tampil di siswa dan orang tua¶
- Priority:
P0 - Roles:
teacher/homeroom,student,parent - Preconditions:
- report card draft tersedia
- komponen nilai valid
- Steps:
- Wali kelas buka workspace rapor
- Review nilai dan deskripsi
- Submit rapor
- Verifikasi rapor muncul di portal siswa
- Verifikasi rapor muncul di portal orang tua
- Unduh / buka PDF rapor
- Expected:
- submit berhasil
- state berubah dari
draftke tahap berikutnya - siswa dan orang tua melihat data serta PDF yang konsisten
- Evidence wajib:
- screenshot workflow success
- PDF sample
- detail rapor siswa dan ortu
- Automation saat ini:
- unit workflow service ada
- audit baru list/detail
- mutation E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ACA-RPT-002 Quality gate rapor lintas approval role¶
- Priority:
P1 - Roles:
homeroom,vice principal,principalatau role approval ekuivalen - Preconditions:
- rapor sudah di-submit
- Steps:
- Reviewer membuka daftar rapor tahap quality gate
- Approve / reject satu rapor
- Verifikasi audit trail
- Expected:
- state rapor berubah sesuai keputusan
- alasan reject / approve tercatat
- Evidence wajib:
- screenshot quality gate
- audit log
- Automation saat ini:
- unit service ada
- E2E lintas role belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-ACA-PRO-001 Workflow kenaikan kelas dan audit trail keputusan¶
- Priority:
P1 - Roles:
homeroom,vice principal,principal/admin - Preconditions:
- data promosi siswa tersedia
- Steps:
- Jalankan rekomendasi promosi
- Review board memutuskan promoted / retained
- Eksekusi keputusan final
- Verifikasi audit trail dan hasil batch berikutnya
- Expected:
- keputusan promosi tersimpan
- audit trail lengkap
- hasil terlihat pada dashboard / detail promosi
- Evidence wajib:
- screenshot setiap tahap
- audit log
- final student placement evidence
- Automation saat ini:
- unit workflow service ada
- E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
6.3 Portal Siswa, Orang Tua, dan Finance Dasar¶
T1-PORT-STU-001 Portal siswa usable untuk operasi harian¶
- Priority:
P0 - Roles:
student - Preconditions:
- siswa punya data jadwal, kehadiran, rapor, billing
- Steps:
- Buka dashboard
- Buka jadwal
- Buka kehadiran
- Buka rapor
- Buka billing
- Buka notifikasi
- Expected:
- semua view memuat data usable, bukan sekadar empty shell
- tidak ada redirect liar atau RPC error
- Evidence wajib:
- screenshot tiap surface
- minimal satu contoh data nyata per surface
- Automation saat ini:
- smoke + audit contract ada
- Gate status saat ini:
Terbukti surface, belum mutasi
T1-PORT-PRT-001 Portal orang tua usable untuk operasi harian¶
- Priority:
P0 - Roles:
parent - Preconditions:
- parent linked ke minimal satu anak
- Steps:
- Buka dashboard
- Buka jadwal anak
- Buka kehadiran anak
- Buka rapor anak
- Buka billing / payment list
- Buka notifikasi
- Tandai satu notifikasi sebagai terbaca
- Expected:
- semua view memuat data anak yang benar
- aksi mark-as-read persisten
- Evidence wajib:
- screenshot dashboard + detail child
- before/after unread count
- Automation saat ini:
- smoke + audit contract ada
- mark-as-read belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-FIN-001 Parent membuka detail invoice dan print invoice¶
- Priority:
P0 - Roles:
parent - Preconditions:
- parent punya invoice aktif
- Steps:
- Buka
/parent/payment-list - Buka detail invoice
- Akses print / PDF invoice
- Expected:
- detail tagihan benar
- route print / PDF berfungsi
- Evidence wajib:
- screenshot invoice detail
- PDF atau print preview
- Automation saat ini:
- audit baru cek billing list
- print/detail E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-FIN-002 Admin staff memonitor billing namespaced¶
- Priority:
P1 - Roles:
admin_staff - Preconditions:
- ada data invoice/tagihan
- Steps:
- Buka
/admin-staff/finance/billing - Filter / cari data tagihan
- Buka satu detail tagihan
- Expected:
- data billing hanya surface yang sesuai role
- detail dapat dibuka tanpa leak route admin penuh
- Evidence wajib:
- screenshot billing list
- detail invoice
- Automation saat ini:
- smoke route-open saja
- Gate status saat ini:
Belum terbukti penuh
6.4 SPMB Dasar¶
T1-SPMB-001 Public register dan parent applicant login¶
- Priority:
P0 - Roles:
public,parent applicant - Preconditions:
- periode SPMB masih dibuka
- Steps:
- Buka landing page
/spmb - Registrasi akun
- Login sebagai pendaftar
- Expected:
- akun pendaftar dibuat
- login berhasil ke dashboard pendaftar
- Evidence wajib:
- screenshot landing
- screenshot sukses register/login
- Automation saat ini:
- smoke baru akses page, belum submit registrasi
- Gate status saat ini:
Belum terbukti penuh
T1-SPMB-002 Parent applicant submit formulir multi-step¶
- Priority:
P0 - Roles:
parent applicant - Preconditions:
- akun pendaftar aktif
- periode/register tersedia
- Steps:
- Pilih periode
- Isi data siswa
- Isi data orang tua
- Upload dokumen
- Isi prestasi jika ada
- Submit pendaftaran
- Expected:
- nomor pendaftaran terbentuk
- status berubah ke submitted / confirmed sesuai workflow
- Evidence wajib:
- nomor pendaftaran
- screenshot detail pendaftaran
- Automation saat ini:
- belum ada E2E submit full multi-step
- Gate status saat ini:
Belum terbukti penuh
T1-SPMB-003 Admin review pendaftar dan publish hasil ke status publik¶
- Priority:
P0 - Roles:
admin,public/parent applicant - Preconditions:
- minimal satu admission submitted
- Steps:
- Admin buka daftar pendaftar
- Review detail dan dokumen
- Ubah keputusan menjadi accepted / rejected
- Verifikasi status publik dengan nomor pendaftaran
- Expected:
- hasil seleksi terlihat di status publik
- next step konsisten dengan keputusan
- Evidence wajib:
- screenshot detail admin
- screenshot status publik
- Automation saat ini:
- smoke public status ada
- admin review mutation belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-SPMB-004 Daftar ulang, invoice bridge, dan konfirmasi enrollment¶
- Priority:
P0 - Roles:
parent applicant - Preconditions:
- admission accepted
- Steps:
- Buka halaman daftar ulang
- Verifikasi checklist dokumen
- Buat / buka tagihan daftar ulang
- Buka detail pembayaran atau print invoice
- Jalankan konfirmasi daftar ulang jika syarat terpenuhi
- Expected:
- bridge ke finance tampil
- invoice state terbaca benar
- konfirmasi enrollment dapat dijalankan ketika dokumen lengkap
- Evidence wajib:
- screenshot daftar ulang
- invoice/print evidence
- state akhir enrollment
- Automation saat ini:
- smoke bridge ada
- confirm enrollment penuh belum ada
- Gate status saat ini:
Belum terbukti penuh
T1-SPMB-005 Boundary Starter tidak mengandalkan SPMB-CBT¶
- Priority:
P0 - Roles:
QA reviewer - Preconditions:
- none
- Steps:
- Audit seluruh acceptance Tier 1
- Pastikan pass/fail Starter tidak ditentukan oleh route CBT admission
- Expected:
- Starter sign-off tetap valid tanpa menjalankan SPMB-CBT
- Evidence wajib:
- daftar suite yang termasuk Starter
- daftar suite yang hanya untuk Professional
- Automation saat ini:
- belum bersih penuh;
spmb_smokemasih memuat CBT-related coverage - Gate status saat ini:
Belum tertutup
6.5 Komunikasi & Notifikasi Dasar¶
T1-COM-001 Pengumuman admin diterima siswa dan orang tua¶
- Priority:
P1 - Roles:
admin,student,parent - Preconditions:
- target audience valid
- Steps:
- Admin publish pengumuman baru
- Login siswa dan cek notification center / announcement list
- Login parent dan cek notification center / announcement list
- Expected:
- pengumuman muncul pada audience yang tepat
- in-app notification masuk
- Evidence wajib:
- screenshot publish
- screenshot siswa
- screenshot parent
- Automation saat ini:
- notifikasi feed ada di audit
- publish-to-delivery E2E belum ada
- Gate status saat ini:
Belum terbukti penuh
7. Current Automation Mapping¶
| Area | Evidence Saat Ini | Cukup untuk 100%? |
|---|---|---|
| Starter access baseline | tier1_smoke.spec.ts |
Tidak |
| Canonical contract load | tier1_workflow_audit.spec.ts |
Tidak |
| Portal contract | unit tests student/parent portal | Tidak |
| Attendance create/save | unit service only | Tidak |
| User CRUD/reset | belum ada E2E mutasi | Tidak |
| Student/parent master data create/import | belum ada E2E mutasi | Tidak |
| Report card workflow submit/approve | unit workflow service only | Tidak |
| Promotion workflow | unit workflow service only | Tidak |
| SPMB public status / enrollment bridge | smoke ada | Belum penuh |
| Announcement publish -> delivery | belum ada E2E | Tidak |
8. Automation Backlog untuk Menutup Klaim 100%¶
P0¶
- Tambahkan Playwright flow
admin_user_management_flow.spec.ts - create user
- assign role
- deactivate / reactivate
- reset password
- Tambahkan Playwright flow
admin_master_data_flow.spec.ts - create student
- create parent
- link relation
- import sample file
- Tambahkan Playwright flow
tier1_attendance_teacher_student_parent_flow.spec.ts - teacher save attendance
- student sees attendance
- parent sees attendance
- Tambahkan Playwright flow
tier1_report_card_workflow.spec.ts - homeroom submit
- reviewer approve
- student/parent open PDF
- Tambahkan Playwright flow
tier1_spmb_lifecycle_flow.spec.ts - public register
- parent submit form
- admin review
- public status check
- enrollment finance bridge
- confirm enrollment
P1¶
- Tambahkan Playwright flow
tier1_promotion_workflow.spec.ts - Tambahkan Playwright flow
tier1_announcement_delivery_flow.spec.ts - Tambahkan Playwright flow
admin_staff_billing_detail_flow.spec.ts - Tambahkan mark-read assertion untuk parent/student notification center
P2¶
- Tambahkan seed reset khusus UAT Tier 1 agar mutasi data tidak merusak shared
scoladev - Tambahkan sign-off report generator untuk hasil UAT manual + automated evidence
9. Sign-Off Template¶
Gunakan format berikut untuk keputusan final:
Tier 1 Production Readiness Sign-Off
- Date:
- Environment:
- FE commit:
- BE commit:
- Tester:
- Automated gates:
- setup-auth:
- starter smoke:
- tier1 workflow audit:
- spmb smoke:
- Manual UAT:
- P0 passed:
- P1 passed:
- blocked:
- Known non-blocking items:
- Final verdict: Pass / Fail / Blocked
10. Current Readiness Summary¶
Per 2026-03-17:
- feature list Starter di SSOT aktif mayoritas sudah Done
- automated gate teknis sudah hijau
- bukti yang masih kurang ada pada workflow mutasi dan lintas-role approval
Artinya:
- implementasi Tier 1 sudah kuat
- klaim Tier 1 100% production-ready belum boleh diberikan
- dokumen ini adalah checklist minimum yang harus ditutup untuk sampai ke status tersebut