Blackbox Testing - Perbaikan Data PP (PP)
- Domain: PP
- Fitur: Perbaikan Data PP (Perseroan Perorangan)
- Role/aktor: perseroan (pilih PP, koreksi data per bagian, tinjau, finalisasi, konfirmasi).
- Tanggal uji: 2026-08-19
- Penguji (sesi): Supervisor PP
- Build/commit: 63c40a17
1. Ringkasan fitur
Perbaikan Data PP dipakai untuk mengoreksi data pada transaksi PP terakhir (bukan mengubah keputusan usaha). Pemohon memilih PP terdaftar, memilih bagian data yang akan diperbaiki (kontak, alamat, modal, KBLI, data pemilik, pemilik manfaat), lalu mengoreksi field atau mengunggah dokumen pendukung. Dua data tidak bisa dikoreksi di jalur ini: NIK pemilik dan Nama Perseroan (harus lewat Perubahan PP). Setelah 4 gate lolos, submission masuk status MENUNGGU_KONFIRMASI lalu menjadi COMPLETED setelah dikonfirmasi. Registry berjalan mode real; pengujian memakai PP nyata idPtp 952322.
2. Full workflow
2.1 Diagram state
stateDiagram-v2
[*] --> CREATED
CREATED --> VALIDATING: POST /start (idPtp + sections)
VALIDATING --> READY
READY --> READY: edit field / unggah dokumen -> re-validate
READY --> MENUNGGU_KONFIRMASI: POST /finalize (gate lolos)
MENUNGGU_KONFIRMASI --> COMPLETED: POST /konfirmasi
MENUNGGU_KONFIRMASI --> KEDALUWARSA: lewat batas konfirmasi
COMPLETED --> [*]
2.2 Sequence (aktor - sistem)
sequenceDiagram
actor U as perseroan
participant FE as Frontend
participant BE as Backend
participant REG as Registry PP (read-only)
U->>FE: Pilih PP + centang bagian data
FE->>BE: GET /api/pp/perbaikan-pp/registry?q=
FE->>BE: GET /api/pp/perbaikan-pp/latest-transaction?idPtp=
FE->>BE: POST /api/pp/perbaikan-pp/start {idPtp, sections[]}
BE->>REG: snapshot transaksi terakhir (oldData)
BE-->>FE: READY
U->>FE: koreksi field / unggah KTP-NPWP (autofill data pemilik)
FE->>BE: PATCH /:id/fields/:key, POST /:id/document
U->>FE: konfirmasi field + setujui pernyataan + Finalisasi
FE->>BE: POST /finalize -> MENUNGGU_KONFIRMASI
U->>FE: Konfirmasi akhir
FE->>BE: POST /konfirmasi -> COMPLETED
2.3 Peta route & UI
| Langkah |
Route |
Komponen |
Elemen interaktif utama |
Selector |
| Pilih PP + bagian |
/pp/perbaikan-pp |
PpPerbaikanPpSelectPage |
kotak cari, daftar hasil, opsi bagian data, Lanjutkan |
aria-label="Cari PP terdaftar", section-option-{key} |
| Koreksi |
/pp/perbaikan-pp/:id |
PpPerbaikanPpFormPage |
field per bagian, dropzone dokumen, "Lanjutkan ke Tinjau" |
teks tombol |
| Tinjau |
/pp/perbaikan-pp/:id/review |
PpPerbaikanPpReviewPageV2 |
diff, konfirmasi field, setujui pernyataan, Finalisasi, hitung mundur konfirmasi |
- |
Bagian dapat dikoreksi: kontak_perseroan, alamat_perseroan, modal, kbli, data_pemilik, pemilik_manfaat. Terkunci: nama_perseroan, pemilik_nik. Dokumen: data_pemilik (KTP+NPWP, autofill), alamat (Surat Domisili, bukti), modal (Bukti Setor, bukti).
3. Prasyarat & data uji
| ID data |
Tipe |
Berkas |
Deskripsi |
Ekspektasi |
| PP-REG |
Prasyarat |
idPtp 952322 "NIR VANA NET" |
PP nyata, transaksi terakhir Perubahan |
latest-transaction mengembalikannya |
| KTP/NPWP nyata |
Positive |
ktp1.jpg, npwp1.jpeg |
Autofill data pemilik |
field pemilik terisi |
| D-POS-62 |
Positive |
bukti-setor.pdf (synthetic) |
Bukti Setor untuk modal |
OCR ok (bukti, bukan autofill) |
4. Matriks skenario uji
| ID |
Tipe |
Lapisan |
Langkah ringkas |
Ekspektasi |
Hasil aktual |
Status |
Bukti |
| TC-01 |
Positive |
API |
latest-transaction 952322 |
transaksi terakhir |
PERUBAHAN_PP (dari uji Perubahan) |
PASS |
log |
| TC-02 |
Positive |
API |
Start kontak, edit email, konfirmasi, setujui, finalisasi, konfirmasi |
COMPLETED via MENUNGGU_KONFIRMASI |
finalize -> MENUNGGU_KONFIRMASI (expiry 7 hari) -> konfirmasi -> COMPLETED |
PASS |
pp-perbaikan-packet.zip |
| TC-03 |
Positive |
API |
Unduh paket COMPLETED |
zip extraction/diff/validation/audit |
zip 5 berkas |
PASS |
packet |
| TC-04 |
Positive |
API |
Start data_pemilik+modal, unggah KTP+NPWP |
field pemilik autofill dari OCR |
pemilikNama/TTL/alamat terisi BUDI SANTOSO |
PASS |
log data_pemilik |
| TC-05 |
Correct-guard |
API |
data_pemilik dengan KTP orang berbeda |
NIK immutable + KTP-match FAIL |
PP_PERBAIKAN_NIK_IMMUTABLE PASS, PP_OWNER_DATA_KTP_MATCH FAIL, PP_OWNER_AGE_18 PASS |
PASS |
log |
| TC-06 |
Observasi |
API |
Unggah Bukti Setor untuk modal |
modal ter-autofill? |
ocr:ok tapi modal tidak berubah (bukti saja) |
PASS (lihat BUG-K1) |
log |
| TC-07 |
Negative |
API |
Edit field pemilikNik |
400 NIK_IMMUTABLE |
400 "NIK ... gunakan jalur Perubahan PP" |
PASS |
log |
| TC-08 |
Negative |
API |
Edit field namaPerseroan |
400 NAMA_NOT_CORRECTABLE |
400 "Nama ... gunakan jalur Perubahan PP" |
PASS |
log |
| TC-09 |
Negative |
API |
Start sections kosong [] |
400 SECTIONS_REQUIRED |
400 SECTIONS_REQUIRED |
PASS |
log |
| TC-10 |
Negative |
API |
Start hanya section terkunci nama_perseroan |
400 (tersaring habis) |
400 "Pilih minimal satu bagian" |
PASS |
log |
| TC-11 |
Negative |
API |
Start idPtp bogus |
404 PP_NOT_FOUND |
404 PP_NOT_FOUND |
PASS |
log |
| TC-12 |
Negative |
API |
Unggah documentType=AKTA |
400 allowlist |
400 "must be one of: KTP, NPWP, SURAT_DOMISILI, BUKTI_SETOR" |
PASS |
log |
| TC-13 |
Negative |
API |
Finalisasi sebelum setuju pernyataan |
409 SECTIONS_NOT_APPROVED |
409 SECTIONS_NOT_APPROVED |
PASS |
log |
| TC-14 |
Positive |
UI |
Picker + pilih bagian kontak |
picker berfungsi |
search NIR VANA NET, opsi bagian tampil |
PASS |
ui-01/02/03 |
5. Cakupan UI (semua yang diakses user)
| Route/Elemen |
Diuji? |
Perilaku benar? |
Catatan |
/pp/perbaikan-pp kotak cari + hasil |
Ya |
Ya |
NIR VANA NET |
| Opsi bagian data (section-option-*) |
Ya |
Ya |
multi-select bagian |
| Tombol Lanjutkan (gate PP+bagian) |
Ya |
Ya |
disabled sampai valid |
/pp/perbaikan-pp/:id form koreksi + dropzone |
Ya |
Ya |
field edit + unggah |
/pp/perbaikan-pp/:id/review diff + konfirmasi + Finalisasi + hitung mundur |
Ya |
Ya |
MENUNGGU_KONFIRMASI |
| Field terkunci NIK/Nama |
Ya (API) |
Ya |
ditolak dengan arahan ke Perubahan |
6. Temuan bug & perbaikan
| ID bug |
Severity |
Ringkas |
Reproduksi |
Ekspektasi |
Aktual |
Rekomendasi perbaikan |
| BUG-K1 |
Low |
Bukti Setor (modal) dan Surat Domisili (alamat) tidak meng-autofill field |
Unggah BUKTI_SETOR pada section modal |
Nilai modal terisi dari OCR bukti setor |
ocr:ok tetapi modal tetap; hanya KTP/NPWP (data_pemilik) yang autofill |
Sama dengan BUG-P1 pada Perubahan. Putuskan apakah dokumen bukti harus autofill; jika hanya bukti, perjelas di UI/PRD. Koreksi manual sudah berjalan |
Tidak ada bug High/Med khusus Perbaikan. Field terkunci (NIK, Nama) berperilaku benar dengan arahan yang jelas ke jalur Perubahan. Alur MENUNGGU_KONFIRMASI dan konfirmasi berfungsi.
7. Ringkasan & rekomendasi
- Total skenario: 14 (PASS 14 / FAIL 0).
- Cakupan UI: 6/6 kelompok elemen (picker + bagian via Playwright, form/review via API + direct-nav).
- Bug: High 0, Med 0, Low 1 (BUG-K1, sama akar dengan BUG-P1 Perubahan).
- Rekomendasi prioritas: satukan keputusan soal autofill dokumen bukti (Domisili/Bukti Setor) lintas Perbaikan dan Perubahan.
- Gap/keterbatasan: satu PP nyata (952322); positive finalize data_pemilik butuh KTP yang sama dengan pemilik terdaftar (mekanisme autofill dan aturan match sudah terbukti benar). Batas konfirmasi 7 hari; kedaluwarsa tidak diuji (butuh menunggu atau manipulasi waktu).