UAT Manual: Alur CBT Learning → Penilaian → e-Rapor¶
Versi: 1.0
Tanggal: 2026-06-13
Status: Siap UAT
Mode: server · Workspace: /home/scola/odoo
Environment referensi: https://dev.gcgscola.id · Odoo scoladev (:8074)
Dokumen ini menjadi panduan UAT linear dari pembuatan ujian CBT context learning sampai nilai terlihat di e-Rapor. Untuk matriks role lengkap (SPMB, independent, proctor, audit), lihat cbt-manual-uat.md. Untuk sign-off QA otomatis, lihat cbt-qa-runbook-2026-05-28.md.
1. Tujuan & Cakupan¶
| Item | Detail |
|---|---|
| Workflow utama | Bank soal → buat ujian learning → publish → siswa runner → grading → publish gradebook → agregasi e-Rapor |
| Context ujian | learning saja (nilai masuk gradebook/e-Rapor). Context independent dan admission dijelaskan di §9 sebagai out-of-scope integrasi rapor |
| Modul terkait | scola_cbt, scola_lms / assignments, scola_report_card (e-Rapor), gradebook akademik |
| Evidence wajib | Screenshot tiap fase, exam_id, attempt_id, status pipeline gradebook, ID rapor siswa |
Prasyarat modul & konfigurasi¶
- [ ] Feature flag tenant:
scola_cbtaktif - [ ] Bobot komponen nilai rapor sudah diset (PH / PTS / PAS / US) — lihat uat-eraport-manual-e2e.md SETUP.03
- [ ] Guru mapel sudah ditugaskan ke rombel target
- [ ] Minimal 1 bank soal dengan ≥ 3 soal (MCQ + 1 essay untuk uji grading manual)
- [ ] Rombel aktif dengan ≥ 2 siswa (
current_batch_idterisi)
Akun uji scoladev¶
| Peran | Username | Password | Dipakai di fase |
|---|---|---|---|
| Guru mapel / author CBT | budi.santosa |
budi.santosa |
Fase 1–5 |
| Siswa | 202600123 |
student123 |
Fase 2 |
| Wali kelas | wali_user |
wali123 |
Fase 6 |
| Kepala sekolah | kepsek |
kepsek123 |
Fase 6 |
| Orang tua | 3275081205800002 |
parent123 |
Fase 6 (opsional) |
Profil Playwright: .env.e2e.scoladev.example
2. Diagram Alur End-to-End¶
flowchart TD
A[Bank Soal] --> B[Buat Ujian Learning]
B --> C{Komponen Nilai PH/PTS/PAS/US}
C --> D[Publish: draft → schedule → held]
D --> E[Siswa: /student/cbt + Runner]
E --> F{Ada soal Essay?}
F -->|Ya| G[Guru: Grading Essay]
F -->|Tidak| H[Auto-grade MCQ]
G --> I[Attempt status: graded]
H --> I
I --> J[Publish ke Gradebook]
J --> K[Komponen nilai di Gradebook / Input Nilai Mapel]
K --> L[Wali Kelas: agregasi rapor]
L --> M[Kepsek: approve & publikasi]
M --> N[Orang tua / siswa lihat rapor]
Integrasi e-Rapor: CBT learning mempublish skor ke academic.grade melalui mapping grade_component_type (PH, PTS, PAS, US). Nilai tersebut mengisi kolom komponen yang sama saat guru/wali kelas membuka Manajemen Raport > Nilai Mata Pelajaran, lalu mengalir ke workflow rapor (submit mapel → wali kelas → kepsek → portal).
3. Fase UAT — Checklist Eksekusi¶
Isi kolom Status: PASS / FAIL / SKIP · Tester · Tanggal · Catatan / ID
FASE 0 — Persiapan Bank Soal & Komponen Nilai¶
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-00A | Login budi.santosa → /faculty/question-bank |
Daftar bank soal tampil | |
| CBT-UAT-00B | Buat atau pilih set soal aktif (≥ 3 soal: MCQ + essay) | question_count > 0 di detail set |
|
| CBT-UAT-00C | Admin/kurikulum: bobot komponen rapor total 100% | Konfigurasi valid (SETUP.03 e-Rapor) | |
| CBT-UAT-00D | Pastikan guru budi.santosa punya penugasan mapel + rombel uji |
Mapel muncul di form ulangan |
FASE 1 — Pembuatan Ujian Learning (Tugas & Ulangan Kelas)¶
Route: /faculty/assignments/exam-create atau Tugas & Ulangan Kelas → tab Ulangan → tambah ulangan CBT
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-01A | Buka /faculty/assignments/exam-create |
Form "Tambah Ulangan Baru" tampil | |
| CBT-UAT-01B | Pilih Kelas/Rombel siswa uji (mis. 8A) | Rombel terpilih | |
| CBT-UAT-01C | Pilih Mata Pelajaran sesuai penugasan guru | Mapel valid | |
| CBT-UAT-01D | Aktifkan CBT → pilih Bank Soal | Question set terhubung | |
| CBT-UAT-01E | Set Komponen Nilai = PH (Penilaian Harian) atau PTS/PAS sesuai skenario |
Field grade_component_type terisi |
|
| CBT-UAT-01F | Set waktu mulai ≤ sekarang, waktu selesai > sekarang, durasi (mis. 30 menit) | Validasi waktu lulus | |
| CBT-UAT-01G | (Opsional) Centang Auto publish ke gradebook | Flag tersimpan jika CBT aktif | |
| CBT-UAT-01H | Simpan ujian | Ujian context learning, state draft; siswa rombel otomatis jadi attendee |
|
| CBT-UAT-01I | Buka /faculty/assignments?tab=exams |
Ujian muncul di tab Ulangan (bukan di /faculty/cbt/exams) |
Catatan negatif: Ujian Independent dibuat dari /faculty/cbt/exams — tidak masuk tab Ulangan dan tidak sinkron ke e-Rapor.
FASE 2 — Publish Ujian & Siswa Mengerjakan¶
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-02A | Di detail ujian: transisi Draft → Terjadwal → Berlangsung (schedule → held) |
State held, token CBT tampil untuk guru |
|
| CBT-UAT-02B | Login siswa 202600123 → /student/cbt |
Kartu ujian muncul (status not_started / on_going) |
|
| CBT-UAT-02C | Klik mulai → masukkan Token CBT dari detail ujian guru | Runner /student/cbt/runner/:exam_id terbuka |
|
| CBT-UAT-02D | Jawab semua soal (MCQ + essay jika ada) → Submit | Attempt submitted atau graded (MCQ auto-grade) |
|
| CBT-UAT-02E | Ulangi dengan siswa ke-2 di rombel yang sama (opsional) | Kedua siswa punya attempt terpisah |
Automated regression: SM-CBT-006 (Playwright) — create learning + runner submit API.
FASE 3 — Proctoring (Opsional P1)¶
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-03A | Assign proctor di detail ujian → login proctor → /faculty/cbt/proctor |
Dashboard proctor menampilkan ujian | |
| CBT-UAT-03B | Extend time / force submit (dengan alasan) | Audit log tercatat; siswa melihat efek |
FASE 4 — Penilaian (Grading)¶
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-04A | Guru buka /faculty/cbt/exams/:examId atau report hasil |
Daftar attempt; MCQ sudah berskor | |
| CBT-UAT-04B | Buka grading attempt dengan soal essay | Workspace jawaban + input skor | |
| CBT-UAT-04C | Simpan skor essay → finalize | Attempt status graded |
|
| CBT-UAT-04D | Buka /faculty/cbt/exams/:examId → tab/report Pipeline |
Stage: grading ✓, gradebook pending/published, e-Rapor status |
Jika bank soal hanya MCQ, fase 4B–4C bisa SKIP — lanjut ke Fase 5 setelah auto-grade.
FASE 5 — Publish Nilai ke Gradebook (Jembatan ke e-Rapor)¶
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-05A | Pastikan semua attempt target sudah graded |
Tombol publish enabled | |
| CBT-UAT-05B | Detail ujian → Publish ke Gradebook (komponen PH/PTS/…) | API publishExamResults sukses; toast sukses |
|
| CBT-UAT-05C | Buka Report Hasil Ujian → panel pipeline | gradebook.publishedCount > 0; tidak ada failure reason |
|
| CBT-UAT-05D | Publish ulang (idempotent) | Tidak duplikat nilai | |
| CBT-UAT-05E | Guru mapel → Manajemen Raport > Nilai Mata Pelajaran → rombel + mapel | Kolom komponen (PH/PTS/…) terisi skor dari CBT |
Mapping backend: op.exam.grade_component_type → academic.grade dengan component_type sama.
FASE 6 — Verifikasi di e-Rapor¶
Lanjutkan workflow rapor standar (uat-eraport-manual-e2e.md) dengan nilai komponen yang sudah terisi dari CBT.
| ID | Langkah | Hasil yang diharapkan | Status |
|---|---|---|---|
| CBT-UAT-06A | Login guru mapel → review nilai komponen dari CBT | Skor konsisten dengan report CBT | |
| CBT-UAT-06B | Kirim Nilai ke Wali Kelas (GRADE.05) | Status mapel Submitted |
|
| CBT-UAT-06C | Login wali_user → monitoring + submit rapor (HOME.01–05) |
Progress lengkap; rapor waiting approval | |
| CBT-UAT-06D | Login kepsek → approve & publikasi (APP.01–04) |
Rapor published | |
| CBT-UAT-06E | Login parent123 / siswa → Laporan Hasil Belajar |
Nilai komponen CBT terlihat di rapor PDF/digital |
4. Matriks Integrasi CBT ↔ e-Rapor¶
| Tahap CBT | Artefak sistem | Titik integrasi e-Rapor |
|---|---|---|
| Create learning exam | op.exam + grade_component_type |
Menentukan kolom komponen di input nilai mapel |
| Attendee auto-enroll | op.exam.attendees |
Daftar siswa yang dinilai |
| Runner submit | scola.cbt.attempt |
Sumber skor |
| Grading finalize | attempt graded |
Syarat publish |
| Publish gradebook | academic.grade |
Nilai komponen rapor |
| Submit mapel → WK → Kepsek | scola.report.line / workflow rapor |
Agregasi final rapor |
5. Skenario Independent (Tanpa e-Rapor)¶
Detail lengkap best practice try out/lomba: cbt-independent-admission-uat-end-to-end.md §2.
| ID | Langkah | Hasil yang diharapkan |
|---|---|---|
| CBT-UAT-IND-01 | Buat ujian di /faculty/cbt/exams context Independent (form ringkas) |
Redirect tab Pengaturan; tidak muncul di tab Ulangan assignments |
| CBT-UAT-IND-02 | Tab Peserta → enroll multi-rombel (atau import/tambah manual) | participant_count > 0; siswa lihat di /student/cbt |
| CBT-UAT-IND-03 | Siswa selesai runner submit | Attempt graded/submitted |
| CBT-UAT-IND-04 | Coba Publish ke Gradebook | Ditolak atau tombol tidak ada — independent tidak masuk gradebook learning |
Automated regression: SM-CBT-003–008 (Playwright).
6. Kriteria Sign-Off UAT¶
Semua item P0 below harus PASS:
- [ ] CBT-UAT-01A–01I — authoring learning dari assignments
- [ ] CBT-UAT-02A–02D — siswa mengerjakan & submit
- [ ] CBT-UAT-05A–05E — publish gradebook + nilai terlihat di input mapel
- [ ] CBT-UAT-06A–06E — nilai CBT muncul di rapor terpublikasi
P1 (disarankan): Fase 3 proctor, Fase 4 essay manual, idempotent re-publish.
Template sign-off¶
| Field | Nilai |
|---|---|
| Environment | dev / staging / prod-pilot |
| Tanggal UAT | |
| Tester | |
| exam_id uji | |
| Verdict | PASS / FAIL / PASS with notes |
| Blocker |
Form lengkap: uat-signoff-template.md
7. Regresi Otomatis (Playwright)¶
Jalankan sebelum atau sesudah UAT manual untuk memvalidasi kontrak API:
cd /home/scola/odoo/scola-fe-v2
E2E_ENV_FILE=.env.e2e.scoladev.example E2E_ODOO_URL=http://127.0.0.1:8074 \
npx playwright test tests/e2e/smoke/cbt_smoke.spec.ts \
tests/e2e/smoke/cbt_independent_enrollment.spec.ts \
tests/e2e/smoke/cbt_runner_flow.spec.ts \
--project=chromium --workers=1
| Test ID | Cakupan manual yang di-backup |
|---|---|
| SM-CBT-001 | Guru akses workspace CBT |
| SM-CBT-002 | Kontrak schedule siswa |
| SM-CBT-003–005 | Independent enroll & visibility |
| SM-CBT-006 | Learning + runner submit + tab assignments |
| SM-CBT-007 | Independent full runner submit |
| SM-CBT-008 | Multi-rombel enroll-batches post-create |
Gap otomatis (UAT manual tetap wajib): publish gradebook → e-Rapor → approve kepsek → portal orang tua.
8. Referensi¶
| Dokumen | Isi |
|---|---|
| cbt-manual-uat.md | Matriks role lengkap + SPMB + independent |
| cbt-qa-runbook-2026-05-28.md | QC gate & playbook diagnosa |
| uat-eraport-manual-e2e.md | Workflow rapor setelah nilai komponen terisi |
| cbt-exam-workspace-enrollment-plan.md | Plan workspace & enrollment (Phase 1–3) |
| buat-ujian-cbt.md | Quick start guru |
| configuration-guides/cbt.md | Setup modul |
9. Riwayat Perubahan¶
| Tanggal | Versi | Perubahan |
|---|---|---|
| 2026-06-13 | 1.0 | Dokumen awal — alur learning CBT → gradebook → e-Rapor; referensi E2E SM-CBT-003–007 |
| 2026-06-11 | 1.1 | Independent §5 diselaraskan workspace Phase 3; tambah SM-CBT-008 |