Extracurricular UAT Runbook¶
Runbook praktis untuk tester non-teknis yang ingin menguji modul ekstrakurikuler dari awal sampai akhir tanpa harus memahami struktur route atau istilah teknis frontend.
Last verified: 2026-05-01
Audience: tester sekolah, operator, PM non-teknis, implementor lapangan
Workspace root: /home/salfath/scola-fe-v2
Dokumen lengkap: extracurricular-end-to-end-uat.md
1. Tujuan Runbook¶
Pakai runbook ini jika Anda ingin menjawab 3 hal: - apakah alur ekskul berjalan dari pendaftaran sampai absensi? - apakah setiap role melihat halaman dan aksi yang benar? - apakah data yang terlihat di admin, guru, siswa, dan orang tua saling cocok?
Runbook ini sengaja dibuat: - singkat - berurutan - minim istilah teknis - fokus ke apa yang harus diklik dan dicek
2. Sebelum Mulai¶
Hal yang harus disiapkan¶
- URL aplikasi yang akan diuji
- Daftar akun login
- Nama 1-2 ekskul yang akan dipakai untuk pengujian
- Satu siswa yang akan dipakai untuk daftar ekskul
- Satu orang tua dari siswa tersebut
- Satu guru pembina ekskul
- Satu guru BK
Akun demo yang sudah terdokumentasi¶
Mengacu ke docs/demo/DEMO_RUNBOOK.md:
| Role | Login | Password |
|---|---|---|
| Admin | admin |
admin |
| Guru Pembina | guru.demo |
guru.demo |
| Guru BK | gurubk.demo |
gurubk.demo |
| Orang Tua | 3674000000001013 |
3674000000001013 |
Catatan: - akun siswa dan wakasek perlu disiapkan dari seed QA atau tenant uji - kalau tenant Anda punya akun sendiri, pakai akun tenant, bukan akun demo di atas
Data yang ideal untuk dites¶
Sebelum testing, pastikan minimal ada: - 1 ekskul yang pendaftarannya masih dibuka - 1 ekskul yang kuotanya penuh - 1 ekskul yang pendaftarannya ditutup - 1 ekskul yang sudah punya sesi absensi - 1 siswa yang belum ikut ekskul target - 1 siswa yang pernah keluar dari ekskul agar bisa dites daftar ulang
3. Cara Mencatat Hasil¶
Untuk setiap langkah, catat:
- PASS jika hasil sesuai harapan
- FAIL jika hasil berbeda
- BLOCKED jika tidak bisa lanjut karena data belum siap atau akses belum ada
Saat FAIL, selalu simpan:
- screenshot
- akun yang dipakai
- nama ekskul
- halaman/menu yang dibuka
- catatan singkat: “yang diharapkan” vs “yang muncul”
Format catatan singkat yang disarankan:
| Langkah | Role | Hasil | Catatan |
|---|---|---|---|
| Pendaftaran siswa ke Basket Reguler | Siswa | PASS | Tombol daftar muncul, pengajuan berhasil |
4. Urutan Testing yang Disarankan¶
Jalankan testing dengan urutan ini:
- Admin siapkan ekskul
- Siswa daftar ekskul
- Admin setujui pendaftaran
- Guru pembina buat absensi
- Siswa cek status dan riwayat presensi
- Orang tua cek data anak
- Guru BK pantau semua ekskul
- Wakasek pantau secara read-only
- Uji kasus larangan akses langsung
- Uji kasus khusus seperti kuota penuh, pendaftaran ditutup, dan daftar ulang
Kalau memungkinkan, buka 2-3 browser berbeda agar tidak perlu login-logout terlalu sering.
5. Smoke Check Cepat¶
Lakukan ini dulu sebelum testing penuh.
Admin¶
- Login admin
- Buka menu ekskul admin
- Pastikan daftar ekskul muncul
- Pastikan ada tombol tambah ekskul
Hasil yang diharapkan: - halaman terbuka normal - tidak redirect liar - tidak blank putih
Guru BK¶
- Login guru BK
- Buka menu ekskul counseling
- Pastikan daftar ekskul muncul
Hasil yang diharapkan: - halaman terbuka - tidak ada tombol tambah absensi
Guru Pembina¶
- Login guru pembina
- Buka menu ekskul faculty
Hasil yang diharapkan: - hanya ekskul binaannya yang terlihat
Siswa¶
- Login siswa
- Buka menu ekskul siswa
Hasil yang diharapkan: - daftar ekskul tampil - tidak error
Orang Tua¶
- Login orang tua
- Buka menu ekskul parent
Hasil yang diharapkan: - data ekskul anak tampil atau ada pesan kosong yang jelas
Wakasek¶
- Login wakasek kesiswaan
- Buka monitoring ekskul
Hasil yang diharapkan: - halaman terbuka read-only
Kalau salah satu smoke gagal, hentikan dulu. Biasanya masalahnya ada di seed data, akun, atau akses role.
6. Skenario Utama¶
Skenario A — Admin menyiapkan ekskul¶
Role: Admin
- Login sebagai admin
- Buka daftar ekskul
- Tambah ekskul baru atau pilih ekskul uji yang sudah ada
- Isi atau cek:
- nama ekskul
- pembina
- kuota anggota
- status pendaftaran buka
- Simpan
Checklist PASS: - ekskul muncul di daftar - nama benar - pembina benar - kuota benar
Jika FAIL: - screenshot form sebelum simpan - screenshot hasil setelah simpan
Skenario B — Siswa mendaftar ke ekskul¶
Role: Siswa
- Login siswa
- Buka menu ekskul
- Cari ekskul target
- Klik tombol daftar
- Isi alasan jika diminta
- Kirim pengajuan
Checklist PASS: - tombol daftar memang tersedia - setelah klik kirim, muncul notifikasi sukses - status berubah menjadi menunggu atau pending - tombol daftar tidak muncul lagi untuk ekskul yang sama
Jika FAIL: - catat apakah tombol daftar tidak muncul, form tidak terbuka, atau submit gagal
Skenario C — Admin menyetujui siswa¶
Role: Admin
- Login admin
- Buka ekskul yang sama
- Cari daftar siswa yang menunggu
- Klik setujui pada siswa yang baru daftar
Checklist PASS: - siswa pindah ke anggota aktif - jumlah anggota aktif bertambah - tidak ada error saat save
Pengecekan tambahan: - refresh halaman - pastikan siswa tetap aktif setelah refresh
Skenario D — Guru pembina membuat sesi absensi¶
Role: Guru Pembina
- Login guru pembina
- Buka ekskul yang dibinanya
- Masuk ke halaman absensi
- Klik tambah sesi
- Simpan sesi
Checklist PASS: - sesi absensi berhasil dibuat - jumlah sesi bertambah - sesi baru muncul di daftar absensi
Skenario E — Guru pembina mengisi status kehadiran¶
Role: Guru Pembina
- Buka sesi absensi yang baru dibuat
- Ubah beberapa siswa menjadi:
- hadir
- izin
- sakit atau alpa
- Simpan
Checklist PASS: - perubahan tersimpan - saat dibuka lagi, statusnya tetap sama
Skenario F — Siswa melihat status ekskul dan presensi¶
Role: Siswa
- Login kembali sebagai siswa yang tadi disetujui
- Buka menu ekskul
- Cari ekskul aktifnya
- Buka detail atau riwayat presensi
Checklist PASS:
- status siswa terlihat aktif
- riwayat presensi muncul
- label seperti Hadir, Izin, Sakit, Alpa mudah dibaca
Jika FAIL: - cek apakah data absensi ada di guru pembina tetapi tidak muncul di siswa
Skenario G — Orang tua memantau anak¶
Role: Orang Tua
- Login parent dari siswa yang sama
- Buka menu ekskul parent
- Pilih anak jika ada lebih dari satu anak
- Buka ekskul anak
- Lihat status anggota dan riwayat presensi
Checklist PASS: - nama ekskul cocok - status anggota cocok dengan portal siswa - status presensi cocok dengan yang diisi guru
Skenario H — Guru BK memantau ekskul¶
Role: Guru BK
- Login guru BK
- Buka daftar ekskul counseling
- Pilih ekskul yang diuji
- Buka halaman absensi
Checklist PASS: - guru BK bisa melihat ekskul - daftar sesi absensi muncul - jumlah sesi di detail sama dengan jumlah item di list - tidak ada tombol tambah absensi
Skenario I — Wakasek memonitor¶
Role: Wakasek Kesiswaan
- Login wakasek
- Buka monitoring ekskul
- Cari ekskul yang diuji
- Cek data siswa dan status
Checklist PASS: - data tampil - tidak ada tombol daftar, approve, edit, atau tambah sesi
7. Skenario Penting yang Sering Menjadi Sumber Bug¶
1. Guru BK mencoba membuka halaman tambah absensi langsung¶
Role: Guru BK
- Login guru BK
- Ketik URL tambah absensi langsung di browser
Hasil yang diharapkan: - guru BK tidak boleh masuk ke form tambah absensi - user harus diarahkan kembali ke halaman aman
Kalau masih bisa masuk form, catat sebagai bug akses.
2. Guru non-pembina mencoba membuka ekskul milik guru lain¶
Role: Guru non-pembina
- Login guru yang bukan pembina
- Buka URL detail ekskul milik guru lain
- Buka juga URL absensinya
Hasil yang diharapkan: - tidak boleh bisa melihat atau mengubah data ekskul tersebut
3. Detail bilang ada sesi, tetapi daftar absensi kosong¶
Role: Guru BK atau Guru Pembina
- Buka detail ekskul
- Catat jumlah sesi
- Buka daftar absensi
- Hitung jumlah item yang tampil
Hasil yang diharapkan: - jumlah di detail harus sama dengan jumlah item di daftar
Jika detail bilang 1 sesi tetapi daftar kosong, catat sebagai bug inkonsistensi data.
4. Siswa yang pernah keluar mencoba daftar ulang¶
Role: Siswa
- Login siswa yang dulu pernah ikut ekskul lalu keluar
- Buka ekskul yang sama
Hasil yang diharapkan: - tombol daftar muncul lagi jika pendaftaran masih dibuka
5. Parent melihat status anak yang berbeda dengan siswa¶
Role: Siswa dan Orang Tua
- Buka ekskul yang sama di portal siswa
- Buka ekskul yang sama di portal parent
Hasil yang diharapkan: - status anggota sama - rekap presensi sama
8. Kasus Khusus yang Wajib Dicek¶
Kuota penuh¶
Role: Siswa
- Buka ekskul yang kuotanya sudah penuh
Expected: - tidak bisa daftar - ada penjelasan yang masuk akal
Pendaftaran ditutup¶
Role: Siswa
- Buka ekskul yang pendaftarannya ditutup
Expected: - tidak bisa daftar
Tidak ada sesi absensi¶
Role: Guru BK, Siswa, Orang Tua
- Buka ekskul yang belum punya sesi absensi
Expected: - muncul state kosong yang jelas - tidak ada count palsu
Parent tanpa anak aktif¶
Role: Orang Tua
Expected: - halaman tetap aman - muncul pesan kosong, bukan error
9. Aturan PASS / FAIL Sederhana¶
Anggap PASS jika:
- halaman bisa dibuka
- data yang tampil masuk akal
- aksi utama berhasil
- data hasil aksi terlihat juga di role berikutnya
Anggap FAIL jika:
- halaman blank atau error
- tombol yang seharusnya tidak ada justru muncul
- user bisa mengakses halaman yang bukan haknya
- jumlah anggota atau jumlah sesi tidak cocok antar halaman
- parent, siswa, dan guru melihat status yang berbeda untuk data yang sama
Anggap BLOCKED jika:
- akun belum ada
- data uji belum tersedia
- ekskul target belum disiapkan
10. Checklist Penutupan¶
Sebelum menutup sesi UAT, pastikan Anda sudah menjawab:
- Apakah siswa bisa daftar ke ekskul yang dibuka?
- Apakah admin bisa menyetujui dan jumlah anggota langsung benar?
- Apakah guru pembina bisa membuat absensi?
- Apakah siswa dan orang tua bisa melihat hasil absensi yang sama?
- Apakah guru BK hanya bisa memantau dan tidak bisa menambah absensi?
- Apakah guru non-pembina tidak bisa masuk ke ekskul milik guru lain?
- Apakah jumlah sesi di detail sama dengan daftar sesi?
- Apakah siswa yang pernah keluar bisa daftar ulang lagi?
Jika semua jawaban ya, modul ekskul layak lanjut ke sign-off UAT.
11. Referensi Cepat¶
- Dokumen lengkap teknis dan matriks UAT: extracurricular-end-to-end-uat.md
- Indeks QA: README.md
- Akun demo: docs/demo/DEMO_RUNBOOK.md