Lewati ke isi

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:

  1. Semua skenario P0 dan P1 di dokumen ini berstatus Pass.
  2. Tidak ada skenario P0 yang Blocked, Skipped, atau hanya Surface only.
  3. Setiap workflow mutasi memiliki bukti:
  4. UI evidence
  5. respons API / RPC sukses
  6. persistence check setelah reload / revisit
  7. audit trail jika workflow memang mengklaim auditability
  8. Boundary Starter bersih dari domain pembeda Tier 2:
  9. LMS
  10. CBT sekolah
  11. SPMB-CBT
  12. payment gateway
  13. external channel notification
  14. Evidence manual konsisten dengan automated gate aktif:
  15. setup-auth
  16. Starter smoke
  17. Tier 1 workflow audit
  18. portal contract
  19. 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:5173 yang hidup ternyata masih mem-proxy ke 127.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

  1. Jalankan baseline automated gate.
  2. Verifikasi boundary Starter:
  3. menu / route Starter tidak bocor ke Tier 2
  4. skenario Starter tidak mengandalkan domain Professional
  5. Jalankan workflow admin mutasi data.
  6. Jalankan workflow akademik dan homeroom.
  7. Jalankan workflow portal siswa dan orang tua.
  8. Jalankan workflow finance dasar.
  9. Jalankan workflow SPMB publik sampai daftar ulang.
  10. Jalankan communication / notification checks.
  11. 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 siswa S/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 draft ke 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, principal atau 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_smoke masih 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