This commit adds a print-friendly HTML version of the UAT checklist and enhances the report generation system with collection date tracking. New Features: - Add UAT_GDC_CMOD_Checklist.html with interactive checkboxes and print-friendly layout - Simplify UAT markdown checklist by removing 'No.' column and refining instructions Report Generation Enhancements: - Add collection date tracking to report generation workflow - ReportController now passes collection date to PDF spooler - ReportHelper fetches collection date from SP_REQUESTS table via getCollectionDateRaw() - Node spooler receives collection date parameter for report generation UI Improvements (content_requests.php): - Add new 'Result' column showing Ready/Pending status with visual indicators - Move Print, Generate PDF, and Retry PDF actions from Actions menu to Result dropdown - Result dropdown shows green 'Ready' for duavalidated requests, yellow 'Pending' otherwise - Actions appropriately restricted by role and validation status - Simplify Actions menu by relocating report-related functions
34 KiB
34 KiB
📋 UAT (USER ACCEPTANCE TESTING) - CHECKLIST
Sistem Manajemen Laboratorium - GDC CMOD
1. IDENTITAS DOKUMEN
| Item | Detail |
|---|---|
| Nama Proyek | GDC CMOD - Laboratory Management System |
| Versi Aplikasi | 1.0 |
| Tanggal UAT | _______________ |
| Durasi UAT | _____ hari |
| Dokumen Versi | 1.0 |
| Prepared By | __________________ |
| Reviewed By | __________________ |
| Approved By | __________________ |
2. INSTRUKSI PENGISIAN
✅ PASS = Test case berhasil sepenuhnya
❌ FAIL = Test case gagal - ada defect
⏭️ N/A = Tidak dapat dilakukan
🚫 BLOCKED = Terhalang oleh issue lain
Cara Pengisian:
- Centang checkbox [ ] jika test case LULUS (PASS)
- Tulis "X" dalam kotak [X] jika test case GAGAL (FAIL)
- Tambahkan catatan @ kolom "Issue/Jawaban" untuk kasus FAIL/N/A/BLOCKED
- Gunakan ID test case untuk tracking
3. TEST CASE - AUTENTIKASI & SESI
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-AUTH-001 | Login Berhasil | Login dengan username & password valid | Redirect ke dashboard sesuai role | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-002 | Login Gagal - Username Salah | Masukkan username tidak ada | Error "Invalid credentials" | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-003 | Login Gagal - Password Salah | Password salah | Error invalid credentials | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-004 | Login Gagal - Akun Terkunci | Login ke akun locked dari legacy | Error "Account locked" | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-005 | Logout Berhasil | Klik menu Logout | Session terhapus, redirect ke login | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-006 | Redirect ke Login Belum Login | Akses protected page tanpa login | Redirect otomatis ke halaman login | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-007 | Ganti Password Berhasil | Change password baru | Password berhasil diubah dan di-hash | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-008 | Ganti Password Gagal - Password Lama Salah | Masukkan password lama salah | Error "Invalid old password" | [ ] PASS [ ] FAIL |
___________ |
| TC-AUTH-009 | Role-Based Redirect Login | Login dengan berbagai role | Redirect ke dashboard sesuai role | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Autentikasi: _ LULUS / _____ GAGAL
4. TEST CASE - SUPERUSER (ROLE 0)
4.1 DASHBOARD SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-001 | Tampilkan Semua Request | Login Superuser → /superuser |
Tabel requests semua status ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-002 | Filter by Status | Pilih status di dashboard filter | Filter berfungsi sesuai status | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-003 | Filter by Date Range | Set date1 & date2 → filter | Filter tanggal berfungsi | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-004 | Search by Patient Name | Masukkan nama pasien | Tampilkan request dengan nama tsb | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-005 | Search by Lab Number | Masukkan Lab Number | Tampilkan request tsb | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-006 | Search by Register Number | Masukkan Register Number | Tampilkan request tsb | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-007 | Table Sorting | Klik header kolom | Kolom di-sort ASC/DESC | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-008 | Pagination | Klik halaman berbeda | Berpindah halaman dengan benar | [ ] PASS [ ] FAIL |
___________ |
4.2 USER MANAGEMENT SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-009 | Tampilkan List User | Access /superuser/users |
Tabel users ditampilkan lengkap | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-010 | Buat User Baru | Add User → isi form | User berhasil dibuat dan password di-hash | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-011 | Validasi Password Min 3 Karakter | Buat user dengan password < 3 char | Error "Password min 3 karakter" | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-012 | Update User Role | Edit user → ubah role | Role berhasil diubah | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-013 | Update Password User | Edit user → ganti password | Password di-hash dengan benar | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-014 | Delete User | Delete user | User terhapus dari database | [ ] PASS [ ] FAIL |
___________ |
4.3 VALIDASI SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-015 | Tampilkan Request Final | Access /superuser/validate |
Hanya request "Fin" yang tampil | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-016 | Filter by Date Range Validasi | Set date1 & date2 → filter | Filter berfungsi di halaman validasi | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-017 | First Validation (VAL1) | Validasi request "Fin" | ISVAL1=1, VAL1USER & VAL1DATE diset | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-018 | Second Validation (VAL2) | Validasi dengan user berbeda | ISVAL2=1, request duavalidated | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-019 | Gagal Validasi Sendiri | Coba validasi ulang sama user | Error "Cannot validate own request" | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-020 | Un-Validate Request | Un-validate dengan reason | ISVAL reset, PENDING diset | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-021 | Shortcut Keyboard | Enter=Validate, N=Skip, Esc=Close | Shortcut berfungsi dengan benar | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-022 | Progress Indicator | Buka validation modal | Progress muncul (posisi / total) | [ ] PASS [ ] FAIL |
___________ |
4.4 SAMPLE MANAGEMENT SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-023 | Collect Sample | Buka dialog sample → Collect | STATUS=1, COLLECTIONDATE & USERID diset | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-024 | Un-Collect Sample | Buka dialog sample → Un-Collect | STATUS di-reset, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-025 | Un-Receive Sample | Un-receive sample yang received | Status berubah, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-026 | Print Label Individu | Print label per tube | Label tercetak dengan ZPL format | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-027 | Print Collection Label | Print collection label | Label collection tercetak | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-028 | Print All Labels | Print semua tubes | Semua labels tercetak | [ ] PASS [ ] FAIL |
___________ |
4.5 AUDIT TRAIL SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-029 | View Request Audit | Buka audit dialog request | Audit trail timeline ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-030 | Filter by Category | Filter: All, Validation, Receive, Sample | Filter berfungsi sesuai kategori | [ ] PASS [ ] FAIL |
___________ |
4.6 REPORT SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-031 | View Report Validated | View report request duavalidated | Report ditampilkan lengkap | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-032 | Cannot View Not Validated | View report belum duavalidated | Error: "Validated request required" | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-033 | Print Report | Print report request validated | Print dialog buka, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-034 | Generate PDF | Generate PDF request validated | PDF berhasil di-generate | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-035 | Preview Report (No Audit) | Preview report tanpa log audit | Report tampil, tidak ada audit log | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-036 | English Version Report | Access /report/{id}/eng |
Report dalam Bahasa Inggris | [ ] PASS [ ] FAIL |
___________ |
4.7 FITUR TAMBAHAN SUPERUSER
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-SU-037 | Edit Comment | Edit comment di dashboard | Comment berubah tersimpan | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-038 | Error Handling 404 | Akses URL tidak valid | Custom notfound page tampil | [ ] PASS [ ] FAIL |
___________ |
| TC-SU-039 | Error Handling Unauthorized | Coba akses role lain | Redirect ke /unauthorized |
[ ] PASS [ ] FAIL |
___________ |
Ringkasan Superuser: _ LULUS / _____ GAGAL
5. TEST CASE - ADMIN (ROLE 1)
5.1 DASHBOARD ADMIN
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-ADM-001 | Tampilkan Semua Request | Login Admin → /admin |
Tabel requests semua status | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-002 | Filter & Search | Uji berbagai filter dan search | Semua berfungsi seperti Superuser | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-003 | Sample Collection Buttons Enabled | Buka dialog sample | Tombol Collect/Un-Coll/Un-Recv enabled | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-004 | Edit Comment Enabled | Edit comment dashboard | Comment dapat diubah | [ ] PASS [ ] FAIL |
___________ |
5.2 VALIDASI ADMIN
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-ADM-005 | Tampilkan Request Final | Access /admin/validate |
Hanya request "Fin" tampil | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-006 | First Validation (VAL1) | Validasi request "Fin" | ISVAL1=1, VAL1USER & VAL1DATE diset | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-007 | Second Validation (VAL2) | Validasi dengan user berbeda | ISVAL2=1, request duavalidated | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-008 | Gagal Validasi Sendiri | Coba validasi ulang sama user | Error "Cannot validate own request" | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-009 | Un-Validate Request | Un-validate request validated | ISVAL reset, PENDING diset | [ ] PASS [ ] FAIL |
___________ |
5.3 SAMPLE & FITUR LAIN ADMIN
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-ADM-010 | Collect Sample | Collect tube | STATUS=1, COLLECTIONDATE & USERID diset | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-011 | Un-Collect Sample | Un-collect tube | STATUS di-reset | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-012 | Un-Receive Sample | Un-receive sample | Status berubah, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-013 | Print Labels | Print individual/collection/all | Semua labels tercetak | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-014 | View Audit Trail | Buka audit dialog | Timeline audit ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-015 | Tampilkan List User | Access /admin/users |
Tabel users ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-016 | Buat User Baru | Add user lengkap | User berhasil dibuat dan di-hash | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-017 | Update User | Edit user → ubah data | User berhasil di-update | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-018 | Delete User | Delete user | User terhapus | [ ] PASS [ ] FAIL |
___________ |
5.4 REPORT ADMIN
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-ADM-019 | View Report Validated | View report request validated | Report ditampilkan lengkap | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-020 | Print Report | Print report | Print dialog buka, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-ADM-021 | Generate PDF | Generate PDF report | PDF berhasil di-generate | [ ] PASS [ ] FAIL |
___________ |
5.5 ROLE RESTRICTIONS ADMIN
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-ADM-PageNav | Cannot Access Role Lain | Coba /superuser, /lab, /phlebo, /cs |
Redirect ke unauthorized/error | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Admin: _ LULUS / _____ GAGAL
6. TEST CASE - LAB ANALYST (ROLE 2)
6.1 DASHBOARD LAB
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-LAB-001 | Filter Test Code Alphabetical | Login Lab → /lab |
Hanya request TESTS A-Z yang tampil | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-002 | View Request Details | Buka request | Detail request ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-003 | Filter & Search dalam Batas Filter | Uji filter & search | Sesuai batas test code A-Z | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-004 | Sample Buttons Enabled | Buka dialog sample | Tombol Collect/Un-Coll/Un-Recv enabled | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-005 | Edit Comment Disabled | Cek comment field | Comment field non-editable | [ ] PASS [ ] FAIL |
___________ |
6.2 VALIDASI LAB
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-LAB-006 | Tampilkan Request Final | Access /lab/validate |
Hanya "Fin" dengan TESTS A-Z tampil | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-007 | First Validation (VAL1) | Validasi request "Fin" | ISVAL1=1, VAL1USER & VAL1DATE diset | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-008 | Second Validation (VAL2) | Validasi user berbeda | ISVAL2=1, request duavalidated | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-009 | Gagal Validasi Sendiri | Coba validasi sendiri | Error "Cannot validate own request" | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-010 | Un-Validate Disabled | Coba un-validate | Error/Unauthorized - cannot un-validate | [ ] PASS [ ] FAIL |
___________ |
6.3 SAMPLE & FITUR LAIN LAB
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-LAB-011 | Collect Sample | Collect tube | STATUS=1, COLLECTIONDATE & USERID diset | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-012 | Un-Collect Sample | Un-collect tube | STATUS di-reset | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-013 | Un-Receive Sample | Un-receive sample | Status berubah, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-014 | Print Labels | Print semua jenis label | Semua labels tercetak | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-015 | View Audit Trail | Buka audit dialog | Timeline audit ditampilkan | [ ] PASS [ ] FAIL |
___________ |
6.4 REPORT LAB
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-LAB-016 | View Report Validated | View report request validated | Report ditampilkan lengkap | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-017 | Print Report | Print report validated | Print dialog buka, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-LAB-018 | Generate PDF | Generate PDF | PDF berhasil di-generate | [ ] PASS [ ] FAIL |
___________ |
6.5 ROLE RESTRICTIONS LAB
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-LAB-PageNav | Cannot Access Role Lain | Coba /superuser, /admin, /phlebo, /cs |
Redirect ke unauthorized/error | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Lab: _ LULUS / _____ GAGAL
7. TEST CASE - PHLEBOTOMIST (ROLE 3)
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-PHB-001 | Tampilkan Semua Request | Login Phlebo → /phlebo |
Tabel requests semua status | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-002 | Filter & Search | Uji filter & search | Semua berfungsi | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-003 | Sample Collection Disabled | Buka dialog sample | Tombol Collect/Un-Coll/Un-Recv DISABLED | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-004 | Edit Comment Disabled | Cek comment field | Comment field non-editable | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-005 | Validation Page Denied | Coba /phlebo/validate |
Halaman tidak tersedia/unauthorized | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-006 | View Sample Details (Read-Only) | Buka dialog sample | Sample details view-only | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-007 | Print Labels | Print individual/collection/all | Labels tercetak | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-008 | View Audit Trail | Buka audit dialog | Audit trail ditampilkan (read-only) | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-009 | Cannot View Report | Coba view report | Report tidak tersedia/error | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-010 | Cannot Print Report | Coba print report | Print tidak tersedia | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-011 | Cannot Generate PDF | Coba generate PDF | PDF tidak tersedia | [ ] PASS [ ] FAIL |
___________ |
| TC-PHB-PageNav | Cannot Access Role Lain | Coba /superuser, /admin, /lab, /cs |
Redirect ke unauthorized/error | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Phlebotomist: _ LULUS / _____ GAGAL
8. TEST CASE - CUSTOMER SERVICE (ROLE 4)
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-CS-001 | Tampilkan Semua Request | Login CS → /cs |
Tabel requests semua status | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-002 | Filter & Search | Uji filter & search | Semua berfungsi | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-003 | Sample Collection Disabled | Buka dialog sample | Tombol Collect/Un-Coll/Un-Recv DISABLED | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-004 | Edit Comment Disabled | Cek comment field | Comment field non-editable | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-005 | Validation Page Denied | Coba /cs/validate |
Halaman tidak tersailable | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-006 | View Sample Details (Read-Only) | Buka dialog sample | Sample details view-only | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-007 | Print Labels (Limited) | Print labels | Labels tercetak sesuai kapasitas | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-008 | View Audit Trail | Buka audit dialog | Audit trail ditampilkan | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-009 | View Report Validated | View report request validated | Report ditampilkan lengkap | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-010 | Print Report | Print report validated | Print dialog buka, audit log tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-011 | Generate PDF | Generate PDF | PDF berhasil di-generate | [ ] PASS [ ] FAIL |
___________ |
| TC-CS-PageNav | Cannot Access Role Lain | Coba /superuser, /admin, /lab, /phlebo |
Redirect ke unauthorized/error | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Customer Service: _ LULUS / _____ GAGAL
9. TEST CASE - FITUR CROSS-ROLE
| ID | Judul Test Case | Langkah Utama | Expected Result | Hasil | Issue/Jawaban |
|---|---|---|---|---|---|
| TC-X-001 | User Mgmt Role Restrictions | Lab/Phlebo/CS coba user management API | Error unauthorized | [ ] PASS [ ] FAIL |
___________ |
| TC-X-002 | Cross-Role Validation | Lab A validasi VAL1, Superuser B validasi VAL2 | Cross-role validation berhasil | [ ] PASS [ ] FAIL |
___________ |
| TC-X-003 | Un-Validate Role Restrictions | Lab/Phlebo/CS coba un-validate | Error unauthorized - only SU/Admin | [ ] PASS [ ] FAIL |
___________ |
| TC-X-004 | Un-Receive Role Restrictions | Lab/Phlebo/CS coba un-receive | Error unauthorized - only SU/Admin | [ ] PASS [ ] FAIL |
___________ |
| TC-X-005 | Report Access Restrictions | Coba view report semua role | SU/Admin/Lab/CS OK, Phlebo NOT | [ ] PASS [ ] FAIL |
___________ |
| TC-X-006 | Report Validated Requirement | View report hanya VAR1 vs duavalidated | Hanya duavalidated dapat dilihat | [ ] PASS [ ] FAIL |
___________ |
| TC-X-007 | Comment Edit Restrictions | Lab/Phlebo/CS coba edit comment | Error - only SU/Admin editable | [ ] PASS [ ] FAIL |
___________ |
| TC-X-008 | Validasi tidak Pengaruhi Data Lain | Record data sebelum & sesudah validasi | Hanya status validasi berubah | [ ] PASS [ ] FAIL |
___________ |
| TC-X-009 | Un-Validate Mempertahankan Data | Record data sebelum & sesudah un-validate | Hanya status validasi berubah | [ ] PASS [ ] FAIL |
___________ |
| TC-X-010 | Audit Trail Logging | Lakukan berbagai aktivitas | Semua tercatat di audit log | [ ] PASS [ ] FAIL |
___________ |
| TC-X-011 | Concurrent Validation | 2 user buka validation dialog bersamaan | Validasi berhasil, tidak conflict | [ ] PASS [ ] FAIL |
___________ |
| TC-X-012 | Concurrent Sample Collection | 2 user collect tube berbeda bersamaan | Semua berhasil tercatat | [ ] PASS [ ] FAIL |
___________ |
| TC-X-013 | Session Timeout | Tunggu session timeout | Redirect ke login | [ ] PASS [ ] FAIL |
___________ |
| TC-X-014 | Password Hashing Security | Buat user → cek database | Password dalam HASH bukan plain | [ ] PASS [ ] FAIL |
___________ |
| TC-X-015 | Legacy Read-Only | Cek koneksi & fungsi Firebird | Hanya READ dari Firebird, TIDAK WRITE | [ ] PASS [ ] FAIL |
___________ |
Ringkasan Cross-Role: _ LULUS / _____ GAGAL
10. KRITERIA PENERIMAAN (ACCEPTANCE CRITERIA)
10.1 Functional Criteria
| Kriteria Functional | Hasil |
|---|---|
| FC-01 | Autentikasi benar untuk semua role (0-4) |
| FC-02 | Role-based access control (RBAC) berfungsi |
| FC-03 | Dashboard menampilkan request sesuai filter & role |
| FC-04 | User management CRUD berfungsi untuk Superuser & Admin |
| FC-05 | Dual-level validation system (VAL1 & VAL2) berfungsi |
| FC-06 | Validasi tidak bisa oleh user yang sama |
| FC-07 | Un-validate berfungsi (Superuser & Admin only) |
| FC-08 | Sample collection/un-collection berfungsi |
| FC-09 | Un-receive sample berfungsi (Superuser & Admin only) |
| FC-10 | Audit trail mencatat semua aktivitas krusial |
| FC-11 | Report hanya untuk request duavalidated |
| FC-12 | Report hanya accessible role (SU, Admin, Lab, CS) |
| FC-13 | PDF generation berfungsi |
| FC-14 | Label printing berfungsi (individual, collection, all) |
| FC-15 | Comment editing berfungsi (Superuser & Admin only) |
| FC-16 | Filter dan search bekerja dengan benar |
| FC-17 | Pagination dan sorting tabel berfungsi |
Functional Summary: _ LULUS / _____ GAGAL
10.2 Security Criteria
| Kriteria Security | Hasil |
|---|---|
| SC-01 | Password disimpan dalam bentuk HASH (bukan plain) |
| SC-02 | Session timeout bekerja dengan benar |
| SC-03 | Tidak ada SQL injection vulnerability |
| SC-04 | Role-based authorization terpenuhi |
| SC-05 | Locked account tidak dapat login |
| SC-06 | Audit trail mencatat semua aktivitas (traceability) |
| SC-07 | Un-validate hanya Superuser & Admin |
| SC-08 | Legacy Firebird system READ-ONLY |
Security Summary: _ LULUS / _____ GAGAL
10.3 Performance Criteria
| Kriteria Performance | Target | Hasil Aktual | Pass/Fail |
|---|---|---|---|
| PC-01 | Dashboard load time | < 3 detik | __________ detik |
| PC-02 | Validation page load time | < 3 detik | __________ detik |
| PC-03 | Report generation time | < 5 detik | __________ detik |
| PC-04 | PDF generation time | < 30 detik | __________ detik |
| PC-05 | Database query response time | < 2 detik | __________ detik |
| PC-06 | Concurrent user support | Min. 5 user | _____ user simultaneous ok |
Performance Summary: _ LULUS / _____ GAGAL
10.4 Usability Criteria
| Kriteria Usability | Hasil |
|---|---|
| UC-01 | UI user-friendly dan mudah digunakan |
| UC-02 | Shortcut keyboard (Enter, N, Esc) berfungsi |
| UC-03 | Error messages jelas dan actionable |
| UC-04 | Responsive design (bekerja di berbagai ukuran) |
| UC-05 | Icons dan color-coding jelas |
| UC-06 | Data terorganisir dengan baik |
Usability Summary: _ LULUS / _____ GAGAL
10.5 Data Integrity Criteria
| Kriteria Data Integrity | Hasil |
|---|---|
| DC-01 | Validasi tidak menghapus/mengubah data lain |
| DC-02 | Un-validate hanya menghapus status validasi |
| DC-03 | Sample collection tidak modifikasi data lain |
| DC-04 | Audit trail tercatat dengan benar |
| DC-05 | Tidak ada data duplikasi concurrent access |
| DC-06 | Status request sesuai workflow |
| DC-07 | Dual-validation requirement terpenuhi |
Data Integrity Summary: _ LULUS / _____ GAGAL
11. KEPUTUSAN AKHIR UAT
11.1 Tolok Ukur Go-Live
Untuk sistem dinyatakan APPROVED untuk production:
| Category | LULUS | GAGAL | PERSEN LULUS | PASS? |
|---|---|---|---|---|
| Functional | ___ | ___ | ___% | [ ] YES [ ] NO |
| Security | ___ | ___ | ___% | [ ] YES [ ] NO |
| Performance | ___ | ___ | ___% | [ ] YES [ ] NO |
| Usability | ___ | ___ | ___% | [ ] YES [ ] NO |
| Data Integrity | ___ | ___ | ___% | [ ] YES [ ] NO |
OVERALL PASS RATE: ______% (dari 5 kategori)
11.2 Keputusan Final
Pilih Salah Satu:
- ✅ APPROVED GO-LIVE - Semua criteria terpenuhi, sistem siap untuk production
- ⚠️ CONDITIONAL APPROVAL - Sistem siap dengan catatan berikut:
____________________________________________________________ ____________________________________________________________ ____________________________________________________________ - ❌ NOT APPROVED - Sistem belum siap, harus perbaiki issue berikut:
____________________________________________________________ ____________________________________________________________ ____________________________________________________________
11.3 Issue Critical yang Harus Diperbaiki
| Issue | Severity | Impact | Assigned To | Deadline |
|---|---|---|---|---|
| ________________________________ | High | ___________ | ___________ | _______ |
| ________________________________ | Medium | ___________ | ___________ | _______ |
| ________________________________ | Low | ___________ | ___________ | _______ |
| ________________________________ | ___________ | ___________ | _______ | |
| ________________________________ | ___________ | ___________ | _______ |
12. CHECKLIST SIGN-OFF
12.1 UAT Team Sign-off
| Nama | Role | Signature | Sign-off Tanggal |
|---|---|---|---|
| __________________________ | UAT Tester 1 | _____________________ | //____ |
| __________________________ | UAT Tester 2 | _____________________ | //____ |
| __________________________ | UAT Tester 3 | _____________________ | //____ |
| __________________________ | Business Analyst | _____________________ | //____ |
12.2 Management Sign-off
| Nama | Role | Signature | Sign-off Tanggal |
|---|---|---|---|
| __________________________ | Project Manager | _____________________ | //____ |
| __________________________ | Testing/QA Manager | _____________________ | //____ |
12.3 Stakeholder Sign-off
| Nama | Role | Signature | Sign-off Tanggal |
|---|---|---|---|
| __________________________ | Lab Manager | _____________________ | //____ |
| __________________________ | Hospital IT Manager | _____________________ | //____ |
| __________________________ | End User Representative | _____________________ | //____ |
13. APPENDIX
13.1 Test Data Used
Users (Test Data):
| User ID | Username | Role | Password |
|---|---|---|---|
| 10001 | test_superuser | 0 | supersu123 |
| 10002 | test_admin | 1 | admin123 |
| 10003 | test_lab | 2 | lab123 |
| 10004 | test_phlebo | 3 | phlebo123 |
| 10005 | test_cs | 4 | cs123 |
Requests (Test Data):
- Request A: Status "Pending" - order baru
- Request B: Status "Coll" - sample collected
- Request C: Status "Recv" - sample received
- Request D: Status "Fin" - ready for validation
- Request E: Status "FinV" - duavalidated
- Request F: Hanya VAL1
- Request G: Dengan test codes alphabetical (untuk Lab filter)
13.2 Known Issues / Limitations Found
| ID | Issue | Severity | Workaround | Fixed? |
|---|---|---|---|---|
| ISS-01 | ________________________________ | [Low/Med/High] | _____________ | [ ] Yes [ ] No |
| ISS-02 | ________________________________ | [Low/Med/High] | _____________ | [ ] Yes [ ] No |
| ISS-03 | ________________________________ | [Low/Med/High] | _____________ | [ ] Yes [ ] No |
13.3 Contact Information
| Role | Nama | Contact |
|---|---|---|
| UAT Lead | ________________________________ | _______________________ |
| Technical Lead | ________________________________ | _______________________ |
| Dev Team | ________________________________ | _______________________ |
13.4 Notes Tambahan
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
14. SUMMARY STATISTICS
14.1 Test Execution Summary
| Kategori | Total Cases | LULUS | GAGAL | N/A | BLOCKED | % LULUS |
|---|---|---|---|---|---|---|
| Autentikasi | 9 | ___ | ___ | ___ | ___ | ___% |
| Superuser | 39 | ___ | ___ | ___ | ___ | ___% |
| Admin | 22 | ___ | ___ | ___ | ___ | ___% |
| Lab Analyst | 19 | ___ | ___ | ___ | ___ | ___% |
| Phlebotomist | 12 | ___ | ___ | ___ | ___ | ___% |
| Customer Service | 12 | ___ | ___ | ___ | ___ | ___% |
| Cross-Role | 15 | ___ | ___ | ___ | ___ | ___% |
| TOTAL | 128 | ___ | ___ | ___ | ___ | ___% |
14.2 Defect Summary
| Severity | Jumlah |
|---|---|
| Critical | ___ |
| High | ___ |
| Medium | ___ |
| Low | ___ |
| TOTAL DEFECTS | ___ |
CATATAN PENTING
- ✅ Centang checklist [ ] untuk test case yang LULUS
- ❌ Tulis "X" dalam kotak [X] untuk test case yang GAGAL
- 📝 Isi kolom "Issue/Jawaban" untuk kasus FAIL/N/A/BLOCKED
- 📊 Hitung total LULUS/GAGAL di ringkasan setiap kategori
- 🎯 Review kriteria penerimaan di Section 10 sebelum keputusan
- ✍️ Lakukan sign-off di Section 12 jika semua criteria terpenuhi
- 📋 Cetak dokumen ini dan gunakan selama sesi UAT
TOTAL ESTIMASI WAKTU UAT: 3-4 hari (dengan 3-5 tester dan 150+ test cases)
🚀 GO-LIVE CHECKLIST (Final)
Setelah sign-off, persiapan production:
- Semua test case sudah dijalankan
- Semua critical & high defects sudah diperbaiki
- Security review selesai (password hashing, SQL injection, role access)
- Performance test selesai (load time, concurrent users)
- Data backup production-ready
- Migration plan approved
- Rollback plan ready
- Training user sudah dilakukan
- Documentation updated
- Stakeholder approval obtained
Production Go-Live Date: //____
DOKUMEN INI MERUPAKAN MILIK PROPERTI INTELEKTUAL GDC CMOD LABORATORY MANAGEMENT SYSTEM BOLEH DISEBARKAN UNTUK KEPERLUAN UAT SAJA
END OF UAT CHECKLIST
Total: 150+ test cases organized dalam format checklist yang mudah di-print dan di-fill secara manual.