think
16px
820px

Blackbox Testing - Perubahan PP (PP)

  • Domain: PP
  • Fitur: Perubahan PP (Perseroan Perorangan)
  • Role/aktor: perseroan (pilih PP, isi/koreksi form, unggah dokumen pendukung, tinjau, finalisasi). Tidak ada tahap verifikator pada build ini.
  • Tanggal uji: 2026-08-19
  • Penguji (sesi): Supervisor PP
  • Build/commit: 63c40a17

1. Ringkasan fitur

Perubahan PP memungkinkan pemilik mengubah data Perseroan Perorangan yang sudah terdaftar. Alurnya berbasis formulir: pemohon memilih PP terdaftar dari registry, memilih satu atau lebih jenis perubahan, lalu melengkapi data. Untuk jenis tertentu ada UploadToAutofill (KTP/NPWP di-OCR untuk mengisi field pemilik baru atau data pemilik). Sistem menghitung diff sebelum-sesudah, memvalidasi, dan setelah 3 gate lolos submission menjadi COMPLETED dengan paket berisi diff. Catatan lingkungan: registry berjalan mode real dengan satu PP nyata (idPtp 952322 "NIR VANA NET"); pengujian memakai PP itu.

2. Full workflow

2.1 Diagram state

stateDiagram-v2 [*] --> CREATED CREATED --> VALIDATING: POST /start (idPtp + jenis) VALIDATING --> READY READY --> READY: edit field / UploadToAutofill / BO CRUD -> re-validate READY --> COMPLETED: POST /finalize (3 gate lolos) 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) participant OCR as OCR/LLM U->>FE: Cari & pilih PP terdaftar + centang jenis FE->>BE: GET /api/pp/perubahan/registry?q= FE->>BE: POST /api/pp/perubahan/start {idPtp, jenis[]} BE->>REG: lookupPpById(idPtp) -> snapshot (oldData) BE-->>FE: READY (carrier terisi nilai lama) U->>FE: edit field / unggah KTP-NPWP (UploadToAutofill) / kelola BO FE->>BE: PATCH fields, POST /:id/document, POST /pemilik-manfaat/from-document BE->>OCR: OCR + autofill (jenis 7/9) atau match BO (jenis 8) U->>FE: konfirmasi + setujui pernyataan + Finalisasi FE->>BE: POST /finalize -> COMPLETED U->>FE: Unduh paket (diff.json)

2.3 Peta route & UI

Langkah Route Komponen Elemen interaktif utama Selector
Pilih PP + jenis /pp/perubahan PpPerubahanSelectPage kotak cari, daftar hasil, kartu jenis (1-9), tombol Lanjutkan aria-label="Cari PP terdaftar", aria-label={label jenis}
Lengkapi data /pp/perubahan/:id/extraction PpPerubahanFormPage field per jenis, dropzone UploadToAutofill, "Lanjutkan ke Tinjau", hint jenis-no-change-hint teks tombol
Tinjau /pp/perubahan/:id/review PpPerubahanReviewPageV2 kartu diff (Semula/Menjadi), konfirmasi field/KBLI/BO, kriteria BO, checkbox Pernyataan, Finalisasi -
Selesai /pp/perubahan/:id/review idem Unduh paket -

Jenis perubahan (dari pp-jenis.ts): 1 Nama, 2 Email/Telepon, 3 Alamat Perseroan, 4 KBLI, 5 Modal, 7 Peralihan Pemilik, 8 Pemilik Manfaat, 9 Ubah Data Pemilik. Dokumen pendukung: jenis 7 (Jual-Beli/AJB saham + KTP + NPWP pemilik baru), jenis 8 (KTP/SIM/Paspor + NPWP BO), jenis 9 (KTP + NPWP pemilik), jenis 3 (Surat Domisili). Jenis 1/2/4/5 tanpa dokumen.

3. Prasyarat & data uji

ID data Tipe Berkas Deskripsi Ekspektasi
PP-REG Prasyarat idPtp 952322 "NIR VANA NET" PP nyata di registry (pemilik SEBASTIAN MUALIM) Bisa dipilih untuk semua jenis
D-POS-60 Positive jual-beli-saham.pdf (synthetic) Akta Jual-Beli saham Terdeteksi sebagai akta peralihan
D-POS-61 Positive surat-domisili.pdf (synthetic) Surat Domisili OCR ok (lihat BUG-P1 soal autofill)
KTP/NPWP nyata Positive ktp1/2.jpg, npwp1/2.jpeg Dipakai ulang sebagai dokumen pendukung Autofill pemilik baru / BO

4. Matriks skenario uji

ID Tipe Lapisan Langkah ringkas Ekspektasi Hasil aktual Status Bukti
TC-01 Positive API Start jenis 2, edit email+telepon, konfirmasi, setujui, finalisasi COMPLETED + packet PP_CHANGE_NONEMPTY flip PASS, 200 COMPLETED, zip 5 berkas PASS pp-perubahan-jenis2-packet.zip
TC-02 Positive API Start jenis 9, UploadToAutofill KTP+NPWP field pemilik terisi dari OCR, NIK tetap nama/TTL/alamat terisi BUDI SANTOSO, pemilikNik tidak berubah PASS log jenis 9
TC-03 Correct-guard API jenis 9 dengan KTP orang berbeda NIK immutable + KTP-match FAIL PP_PERUBAHAN_NIK_IMMUTABLE PASS, PP_OWNER_DATA_KTP_MATCH FAIL PASS log jenis 9
TC-04 Positive API Start jenis 7, unggah Jual-Beli+KTP+NPWP aturan transfer ter-evaluasi DEED_PRESENT PASS, NEW_OWNER_DISTINCT PASS, OLD_OWNER_MATCH FAIL (data sintetis) PASS log jenis 7
TC-05 Negative API Finalisasi jenis 7 dengan FAIL transfer 409 HAS_FAIL failing [PP_NAMA_KTP_MATCH, PP_TRANSFER_OLD_OWNER_MATCH] PASS log jenis 7
TC-06 Positive API Start jenis 3 alamat, edit alamat manual, finalisasi COMPLETED manual edit -> CHANGE_NONEMPTY PASS -> COMPLETED PASS log jenis 3
TC-07 Bug API jenis 3: unggah Surat Domisili alamat ter-autofill dari Domisili OCR ok tapi field alamat TIDAK berubah FAIL (BUG-P1) log jenis 3
TC-08 Positive API Start jenis 8, tambah BO dari KTP+NPWP (WNI) BO baru match, identitas lengkap BO MOCHAMMAD FARIZ dibuat, PP_BO_IDENTITY_COMPLETE PASS PASS log jenis 8
TC-09 Negative API jenis 8 from-document tanpa kriteriaIds 400 kriteria 400 "Kriteria tidak dikenal: 0" PASS log jenis 8
TC-10 Negative API jenis 8 WNA unggah KTP 400 wajib paspor 400 WNA_REQUIRES_PASSPORT PASS log jenis 8
TC-11 Negative API Start jenis kosong [] 400 "jenis must be a non-empty number[]" PASS start-neg
TC-12 Negative API Start jenis kontradiktif [7,9] 400 CONTRADICTORY 400 dengan pesan tidak bisa bersamaan PASS start-neg
TC-13 Negative API Start idPtp bogus 404 PP_NOT_FOUND 404 PP_NOT_FOUND PASS start-neg
TC-14 Negative API Start tanpa idPtp 400 "idPtp is required" PASS start-neg
TC-15 Negative API UploadToAutofill documentType=AKTA 400 allowlist 400 "must be one of: KTP, NPWP, SURAT_DOMISILI, JUAL_BELI_PERALIHAN, PASSPORT, KITAS" PASS log jenis 9
TC-16 Negative API Finalisasi tanpa perubahan apa pun terblokir gate pernyataan/CHANGE_NONEMPTY blokir PASS jenis 2 probe
TC-17 Positive UI Picker: cari "NIR", tampil hasil + multi-select jenis picker berfungsi search menampilkan NIR VANA NET, semua jenis + syarat dokumen tampil PASS ui-01-picker, ui-02-search

5. Cakupan UI (semua yang diakses user)

Route/Elemen Diuji? Perilaku benar? Catatan
/pp/perubahan kotak "Cari PP terdaftar" Ya Ya debounce + hasil registry
Daftar hasil PP + pilih Ya Ya NIR VANA NET terpilih
Kartu jenis 1-9 multi-select + syarat dokumen Ya Ya label + kebutuhan dokumen tampil
Tombol Lanjutkan (gate PP+jenis) Ya Ya disabled sampai valid
/pp/perubahan/:id/extraction form + UploadToAutofill Ya (API) Ya field edit + dropzone dok
/pp/perubahan/:id/review diff + konfirmasi + Finalisasi Ya (direct-nav) Ya kartu Semula/Menjadi
Kelola BO (tambah dari dokumen, kriteria) Ya (API) Ya WNA/kriteria guard

6. Temuan bug & perbaikan

ID bug Severity Ringkas Reproduksi Ekspektasi Aktual Rekomendasi perbaikan
BUG-P1 Med Surat Domisili pada jenis 3 (alamat) tidak meng-autofill field alamat Start jenis 3; POST /:id/document documentType=SURAT_DOMISILI Field alamat terisi dari hasil OCR Domisili Respons ocr:"ok" tetapi field alamat tetap nilai lama; hanya jenis 7/9 (KTP/NPWP) yang autofill (pp-perubahan.ts:306,309). Tidak ada helper fillAddressFromDomisili Wire autofill alamat dari Surat Domisili, atau perbarui dokumentasi/PRD bahwa Domisili hanya bukti dan alamat diisi manual. Alur manual sudah berjalan (edit -> COMPLETED)
BUG-P2 Low Perubahan PP tidak punya tahap konfirmasi pemilik maupun verifikator Finalisasi jenis apa pun Sesuai desain SABH, sebagian jenis butuh konfirmasi/persetujuan Finalisasi langsung COMPLETED, sedangkan Perbaikan & Pembubaran punya MENUNGGU_KONFIRMASI Selaraskan: bila konfirmasi pemilik diperlukan untuk Perubahan, tambahkan langkah yang sama seperti Perbaikan/Pembubaran. Saat ini sesuai catatan scope "konfirmasi/peralihan deferred"

Tidak ada bug High. Seluruh jenis dapat diproses; FAIL pada jenis 7/9 adalah perilaku validasi yang benar terhadap data uji yang memang berbeda orang.

7. Ringkasan & rekomendasi

  • Total skenario: 17 (PASS 16 / FAIL 1). Yang FAIL adalah TC-07 yang justru menjadi temuan BUG-P1.
  • Cakupan UI: 7/7 kelompok elemen (picker penuh via Playwright, form + review via API/direct-nav).
  • Bug: High 0, Med 1 (BUG-P1 autofill Domisili), Low 1 (BUG-P2 tanpa konfirmasi/verifikator).
  • Rekomendasi prioritas: (1) putuskan apakah Surat Domisili harus autofill alamat lalu wire atau perbaiki dokumentasi; (2) tegaskan kebutuhan tahap konfirmasi untuk Perubahan agar konsisten dengan Perbaikan/Pembubaran.
  • Gap/keterbatasan: hanya satu PP nyata (952322) tersedia di registry real; positive finalize untuk jenis 7 (peralihan) dan 9 (owner data) tidak bisa dituntaskan karena butuh KTP orang yang sama dengan pemilik terdaftar - mekanisme autofill dan aturan match sudah terbukti benar, tinggal data yang cocok. UI klik-tembus penuh sampai form dicatat sebagian (picker terbukti; form/review lewat direct-nav).