think
16px
820px

Blackbox Testing - Pembubaran PP (PP)

  • Domain: PP
  • Fitur: Pembubaran PP (Perseroan Perorangan)
  • Role/aktor: perseroan (pilih PP, pilih alasan, unggah KTP, tinjau, finalisasi, konfirmasi).
  • Tanggal uji: 2026-08-19
  • Penguji (sesi): Supervisor PP
  • Build/commit: 63c40a17

1. Ringkasan fitur

Pembubaran PP adalah alur mandiri (self-service) terminal untuk membubarkan Perseroan Perorangan yang sudah terdaftar. Berbasis registry: pemohon memilih PP, memilih minimal satu alasan pembubaran dari 6 dasar hukum (UU Cipta Kerja / PP 8/2021), lalu mengunggah KTP pemilik untuk pencocokan identitas. Tidak ada OCR akta. Setelah gate lolos, submission masuk MENUNGGU_KONFIRMASI lalu COMPLETED (yang menandai PP bubar di catatan lokal PoC). Registry berjalan mode real; pengujian memakai PP nyata idPtp 952322 "NIR VANA NET" dengan pemilik SEBASTIAN MUALIM.

2. Full workflow

2.1 Diagram state

stateDiagram-v2 [*] --> READY: POST /start (idPtp) [resume bila ada draft] READY --> READY: pilih alasan / unggah KTP -> re-validate READY --> MENUNGGU_KONFIRMASI: POST /finalize (gate lolos) MENUNGGU_KONFIRMASI --> COMPLETED: POST /konfirmasi (PP bubar) 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) participant OCR as OCR U->>FE: Pilih PP terdaftar FE->>BE: GET /api/pp/pembubaran/registry?q= FE->>BE: POST /api/pp/pembubaran/start {idPtp} BE->>REG: lookupPpById -> snapshot pemilik BE-->>FE: READY (resume bila draft ada) U->>FE: Pilih alasan + unggah KTP FE->>BE: POST /:id/alasan {alasanIds}, POST /:id/document (KTP) BE->>OCR: OCR KTP -> cocokkan NIK/nama ke pemilik terdaftar U->>FE: Setujui pernyataan + Finalisasi FE->>BE: POST /finalize -> MENUNGGU_KONFIRMASI U->>FE: Konfirmasi akhir FE->>BE: POST /konfirmasi -> COMPLETED (PP bubar)

2.3 Peta route & UI

Langkah Route Komponen Elemen interaktif utama Selector
Pilih PP /pp/pembubaran PpPembubaranSelectPage kotak cari, daftar hasil, Lanjutkan aria-label="Cari Perseroan Perorangan terdaftar"
Unggah /pp/pembubaran/:id/upload PpPembubaranUploadPage dropzone KTP, preview KTP, hapus KTP, picker alasan (6), "Lanjut ke Tinjauan" ktp-upload-preview, aria-label="Hapus KTP"
Tinjau /pp/pembubaran/:id/review PpPembubaranReviewPageV2 ringkasan PP+pemilik+alasan+KTP, setujui pernyataan, Finalisasi, hitung mundur -

3. Prasyarat & data uji

ID data Tipe Berkas Deskripsi Ekspektasi
PP-REG Prasyarat idPtp 952322 "NIR VANA NET" PP nyata aktif, pemilik SEBASTIAN MUALIM Bisa dipilih, PP_ACTIVE PASS
KTP-Pembubaran Positive Pembubaran PP/ktp1.jpg KTP pemilik (SEBASTIAN MUALIM, NIK 3272020904970001) OWNER_MATCH + NAME_MATCH PASS

4. Matriks skenario uji

ID Tipe Lapisan Langkah ringkas Ekspektasi Hasil aktual Status Bukti
TC-01 Positive API GET registry + alasan 952322 terlist, 6 alasan keduanya benar PASS log
TC-02 Positive API Start 952322 (ada draft dari UI) resume submission resumed:true, READY PASS log
TC-03 Negative API Start idPtp bogus 404 PP_NOT_FOUND 404 PP_NOT_FOUND PASS log
TC-04 Negative API Finalisasi tanpa alasan 409 ALASAN_REQUIRED 409 ALASAN_REQUIRED PASS log
TC-05 Negative API Pilih alasan [] kosong 400 ALASAN_REQUIRED 400 "Pilih minimal satu alasan" PASS log
TC-06 Negative API Unggah documentType=NPWP 400 must be KTP 400 "documentType must be KTP" PASS log
TC-07 Positive API Pilih alasan [1] + unggah KTP tersimpan, OCR ok 200 + ocr ok PASS log
TC-08 Positive API Cek 4 aturan validasi semua PASS ALASAN_NONEMPTY, OWNER_MATCH, OWNER_NAME_MATCH, PP_ACTIVE semua PASS PASS validations
TC-09 Negative API Finalisasi sebelum setuju pernyataan 409 SECTIONS_NOT_APPROVED 409 SECTIONS_NOT_APPROVED PASS log
TC-10 Positive API Setujui pernyataan + Finalisasi MENUNGGU_KONFIRMASI 200 MENUNGGU_KONFIRMASI (expiry 7 hari) PASS log
TC-11 Positive Kode Konfirmasi -> COMPLETED (PP bubar) COMPLETED TIDAK dieksekusi (lihat catatan) N/A -
TC-12 Positive UI Picker -> upload page (KTP + alasan) halaman render picker + preview KTP SEBASTIAN MUALIM + 6 alasan + "Lanjut ke Tinjauan" PASS ui-01/02/03

Catatan TC-11: langkah POST /konfirmasi menandai PP bubar (COMPLETED PEMBUBARAN_PP lokal). Karena pengujian ini memakai PP nyata (952322) dan pilihan pengguna adalah menghindari perubahan data nyata, langkah konfirmasi TIDAK dijalankan. Mekanismenya identik dengan konfirmasi Perbaikan PP yang sudah terbukti mencapai COMPLETED (lihat laporan Perbaikan TC-02). Efek dissolution hanya ke basis data lokal dev_4; registry PROD tetap read-only tak tersentuh.

5. Cakupan UI (semua yang diakses user)

Route/Elemen Diuji? Perilaku benar? Catatan
/pp/pembubaran kotak cari + hasil Ya Ya NIR VANA NET
Tombol Lanjutkan (gate PP) Ya Ya disabled sampai PP dipilih
/pp/pembubaran/:id/upload dropzone KTP + preview Ya Ya preview + NIK/nama terbaca
Hapus KTP Ada - selector aria-label="Hapus KTP" tersedia
Picker alasan (6 dasar hukum) Ya Ya multi-select
"Lanjut ke Tinjauan" (gate KTP+alasan) Ya Ya butuh KTP selesai + alasan
/pp/pembubaran/:id/review ringkasan + Finalisasi Ya (API) Ya MENUNGGU_KONFIRMASI

6. Temuan bug & perbaikan

ID bug Severity Ringkas Reproduksi Ekspektasi Aktual Rekomendasi perbaikan
- - Tidak ditemukan bug - - Seluruh gate dan aturan validasi berperilaku benar -

Tidak ada bug pada Pembubaran PP. Semua gate (alasan wajib, KTP wajib bertipe KTP, pencocokan pemilik, PP aktif, persetujuan pernyataan) berfungsi sesuai harapan. Guardrail sistem (auto-mode) juga mencegah eksekusi dissolution nyata secara tidak sengaja, yang justru sesuai kebijakan read-only.

7. Ringkasan & rekomendasi

  • Total skenario: 12 (PASS 11 / N/A 1). Yang N/A adalah TC-11 konfirmasi yang sengaja tidak dieksekusi terhadap PP nyata.
  • Cakupan UI: 7/7 kelompok elemen (picker + upload via Playwright, review via API).
  • Bug: High 0, Med 0, Low 0.
  • Rekomendasi prioritas: tidak ada perbaikan mendesak. Bila diperlukan pengujian dissolution penuh, sediakan PP uji khusus (bukan PP nyata) atau mode mock agar POST /konfirmasi dan kasus PP_DISSOLVED (start ulang setelah bubar) bisa diverifikasi.
  • Gap/keterbatasan: konfirmasi->COMPLETED dan kasus PP_DISSOLVED tidak dieksekusi demi menjaga data registry nyata; keduanya terverifikasi lewat kode dan analog dengan Perbaikan.