419/419 Tes Lulus
Tingkat Keberhasilan 100%Rangkaian pengujian produksi komprehensif yang mencakup interaksi GUI, titik akhir API, keamanan, kinerja, dan kompatibilitas lintas browser — semuanya.
Peningkatan Infrastruktur
Hingga 467× Lebih CepatPada Maret 2026, kami bermigrasi dari VPS bersama ke server khusus dengan 16× lebih banyak RAM, 5 pekerja analis paralel, dan semua 48 model bahasa.
Kinerja Bersamaan
Server baru menangani ratusan permintaan simultan di seluruh semua layanan tanpa kegagalan.
| Layanan | Bersamaan | Sukses | Rata-rata | RPS |
|---|---|---|---|---|
| Analyzer (spaCy) | 500 | 100% | 331 ms | 634 |
| Analyzer (12-lang mix) | 120 | 100% | 114 ms | 515 |
| Anonymizer | 1,000 | 100% | 8 ms | 1,501 |
| Structured Data | 100 | 100% | 331 ms | 144 |
| Frontend (Next.js) | 200 | 100% | 979 ms | 104 |
| Mixed Workload | 110 | 100% | 56 ms | 536 |
Kecepatan Pipeline Lengkap
Latensi analisis + anonimasi ujung-ke-ujung pada server baru, diukur dengan semua model bahasa warm.
| Bahasa | Mesin | Pipeline Rata-rata | Entitas |
|---|---|---|---|
| English | spaCy | 10.2 ms | 9 |
| German | spaCy | 13.4 ms | 9 |
| French | spaCy | 10.5 ms | 10 |
| Spanish | spaCy | 7.8 ms | 9 |
| Japanese | spaCy | 9.9 ms | 6 |
| Chinese | spaCy | 13.6 ms | 5 |
| Arabic | Transformer | 12.7 ms | 7 |
| Hebrew | Stanza | 117.3 ms | 6 |
Waktu server lama termasuk pipeline uji GUI lengkap (Playwright + API). Waktu server baru adalah benchmark API-only dengan semua model warm. Peningkatan mencerminkan keuntungan infrastruktur nyata: cold start dihilangkan, parallelism 5×, dan penyimpanan NVMe.
13 Pencapaian Pengujian
Setiap pencapaian mencakup area fungsional platform yang berbeda, dari autentikasi hingga kompatibilitas lintas browser.
Authentication & Session
22/22 tes
Masuk, persistensi sesi, profil, pemeriksaan kesehatan, penjaga autentikasi, logout/login ulang
PII Detection (Analyzer)
62/62 tes
Analisis 48 bahasa melalui GUI, filter entitas, ambang skor, kasus tepi, pintasan keyboard
Anonymizer (5 Operators)
40/40 tes
Operator Replace, Redact, Hash, Mask, Encrypt melalui API dan GUI, tindakan cepat, multibahasa
Decrypt (Roundtrip)
22/22 tes
Putaran enkripsi-lalu-dekripsi untuk AES-256/128/192, multibahasa, validasi kunci, teks besar
Batch & File Upload
20/20 tes
Pemrosesan teks batch, UI unggah file, pengalihan tab, status pemrosesan
Entity Management
28/28 tes
CRUD entitas di 3 tab, Pencipta AI, aturan validasi, verifikasi pembersihan
Preset Management
28/28 tes
CRUD preset di 3 tab, alur penerapan, aturan validasi, verifikasi pembersihan
Settings (10 Tabs)
42/42 tes
Semua 10 tab pengaturan: Akun, Penagihan, Token, Keamanan, Riwayat, Bahasa, Kunci Enkripsi, Layanan, Pengembang
API Security
35/35 tes
Titik akhir inti, header keamanan, kebijakan CORS, validasi input, keamanan autentikasi, pembatasan laju
Token Usage Monitoring
24/24 tes
Konsumsi token berdasarkan ukuran teks, operator, bahasa, filter entitas, dekripsi, batch, ekspor CSV
Lighthouse & Quality
20/20 tes
Skor Lighthouse pada 8 halaman, responsivitas viewport, aksesibilitas, SEO, kesalahan konsol, tautan rusak
48 Languages + RTL
56/56 tes
Analisis untuk semua 48 bahasa, 4 pemeriksaan tata letak RTL, pengalihan bahasa, validasi pemilih
Cross-Browser
20/20 tes
5 halaman di Chromium, Firefox, WebKit, dan Mobile Chrome — nol kesalahan konsol
Cakupan 48 Bahasa
Setiap bahasa yang didukung diuji dengan sampel PII nyata. Tiga jenis mesin NLP memastikan akurasi optimal per bahasa.
| Bahasa | Kode | Mesin | Entitas | Server Lama | Server Baru | Peningkatan Kecepatan | Status |
|---|---|---|---|---|---|---|---|
| English | en | spacy | 113 | 270 ms | 8 ms | 34× | |
| German | de | spacy | 148 | 313 ms | 7 ms | 45× | |
| Spanish | es | spacy | 104 | 1,841 ms | 6 ms | 307× | |
| French | fr | spacy | 133 | 2,327 ms | 8 ms | 291× | |
| Italian | it | spacy | 97 | 1,787 ms | 7 ms | 255× | |
| Portuguese | pt | spacy | 61 | 1,764 ms | 6 ms | 294× | |
| Dutch | nl | spacy | 122 | 2,486 ms | 6 ms | 414× | |
| Polish | pl | spacy | 70 | 1,726 ms | 8 ms | 216× | |
| Russian | ru | spacy | 41 | 2,226 ms | 6 ms | 371× | |
| Japanese | ja | spacy | 23 | 1,436 ms | 6 ms | 239× | |
| Chinese | zh | spacy | 24 | 2,554 ms | 7 ms | 365× | |
| Korean | ko | spacy | 16 | 1,305 ms | 6 ms | 218× | |
| Arabic | ar | transformer | 20 | 554 ms | 8 ms | 69× | |
| Hindi | hi | transformer | 22 | 486 ms | 7 ms | 69× | |
| Turkish | tr | spacy | 112 | 504 ms | 6 ms | 84× | |
| Romanian | ro | spacy | 122 | 1,730 ms | 6 ms | 288× | |
| Greek | el | spacy | 29 | 1,822 ms | 7 ms | 260× | |
| Croatian | hr | spacy | 67 | 989 ms | 7 ms | 141× | |
| Slovenian | sl | spacy | 64 | 1,264 ms | 7 ms | 181× | |
| Macedonian | mk | spacy | 24 | 1,259 ms | 7 ms | 180× | |
| Swedish | sv | spacy | 140 | 1,002 ms | 6 ms | 167× | |
| Danish | da | spacy | 107 | 1,910 ms | 7 ms | 273× | |
| Norwegian | nb | spacy | 109 | 1,606 ms | 7 ms | 229× | |
| Finnish | fi | spacy | 118 | 1,229 ms | 7 ms | 176× | |
| Icelandic | is | transformer | 73 | 559 ms | 8 ms | 70× | |
| Ukrainian | uk | spacy | 25 | 1,434 ms | 9 ms | 159× | |
| Lithuanian | lt | spacy | 86 | 1,601 ms | 7 ms | 229× | |
| Bulgarian | bg | stanza | 24 | 8,735 ms | 98 ms | 89× | |
| Serbian | sr | transformer | 24 | 519 ms | 8 ms | 65× | |
| Hungarian | hu | stanza | 82 | 8,141 ms | 39 ms | 209× | |
| Czech | cs | transformer | 81 | 562 ms | 8 ms | 70× | |
| Slovak | sk | transformer | 70 | 577 ms | 8 ms | 72× | |
| Latvian | lv | transformer | 83 | 526 ms | 8 ms | 66× | |
| Estonian | et | transformer | 79 | 531 ms | 8 ms | 66× | |
| Hebrew | he | stanza | 17 | 8,850 ms | 101 ms | 88× | |
| Persian | fa | transformer | 12 | 439 ms | 7 ms | 63× | |
| Vietnamese | vi | stanza | 74 | 11,282 ms | 99 ms | 114× | |
| Indonesian | id | transformer | 79 | 524 ms | 7 ms | 75× | |
| Thai | th | transformer | 20 | 521 ms | 5 ms | 104× | |
| Malay | ms | transformer | 87 | 510 ms | 7 ms | 73× | |
| Filipino | tl | transformer | 75 | 501 ms | 7 ms | 72× | |
| Bengali | bn | transformer | 18 | 455 ms | 7 ms | 65× | |
| Urdu | ur | transformer | 12 | 445 ms | 7 ms | 64× | |
| Afrikaans | af | stanza | 119 | 7,867 ms | 55 ms | 143× | |
| Swahili | sw | transformer | 68 | 526 ms | 7 ms | 75× | |
| Armenian | hy | stanza | 69 | 19,643 ms | 85 ms | 231× | |
| Catalan | ca | spacy | 100 | 3,267 ms | 7 ms | 467× | |
| Basque | eu | stanza | 82 | 783 ms | 40 ms | 20× |
Kompatibilitas Lintas Browser
5 halaman kritis diuji di 4 mesin browser tanpa kesalahan konsol dan tanpa overflow horizontal.
Chromium
5 dari 5 halaman
Semua LulusFirefox
5 dari 5 halaman
Semua LulusWebKit
5 dari 5 halaman
Semua LulusMobile Chrome
5 dari 5 halaman
Semua LulusPengujian Keamanan
35 Tes35 tes keamanan khusus mencakup titik akhir API, header, CORS, validasi input, autentikasi, dan pembatasan laju.
Titik Akhir Inti
8 tests8 tes memverifikasi aksesibilitas titik akhir API dan kode respons
Header Keamanan
6 tests6 tes untuk CSP, X-Frame-Options, HSTS, dan lainnya
Kebijakan CORS
5 tests5 tes untuk penanganan permintaan lintas asal
Validasi Input
6 tests6 tes untuk XSS, injeksi SQL, dan input yang cacat
Keamanan Autentikasi
5 tests5 tes untuk bypass autentikasi dan keamanan sesi
Pembatasan Laju
5 tests5 tes untuk penegakan batas laju API dan header Retry-After
Analisis Penggunaan Token
Total Token Digunakan: 76822 tes konsumsi token mengukur efisiensi biaya di seluruh operasi, ukuran teks, bahasa, dan operator.
| Operasi | Karakter | Bahasa | Entitas | Operator | Token | Waktu Respons |
|---|---|---|---|---|---|---|
| analyze | 50 | en | 44 | N/A | 4 | 220 ms |
| analyze | 200 | en | 140 | N/A | 9 | 276 ms |
| analyze | 500 | en | 387 | N/A | 21 | 367 ms |
| analyze | 1,000 | en | 745 | N/A | 39 | 542 ms |
| analyze | 5,000 | en | 3776 | N/A | 193 | 4,398 ms |
| analyze | 10,000 | en | 7566 | N/A | 385 | 14,494 ms |
| anonymize | 160 | en | 113 | replace | 7 | 291 ms |
| anonymize | 160 | en | 113 | redact | 7 | 236 ms |
| anonymize | 160 | en | 113 | hash | 7 | 243 ms |
| anonymize | 160 | en | 113 | mask | 7 | 276 ms |
| anonymize | 160 | en | 113 | encrypt | 7 | 242 ms |
| analyze | 165 | de | 148 | N/A | 9 | 272 ms |
| analyze | 151 | fr | 133 | N/A | 9 | 282 ms |
| analyze | 75 | ja | 23 | N/A | 3 | 1,608 ms |
| analyze | 125 | ru | 41 | N/A | 4 | 2,588 ms |
| analyze | 113 | ar | 20 | N/A | 3 | 501 ms |
| analyze | 63 | zh | 24 | N/A | 3 | 2,591 ms |
| analyze | 160 | en | 106 | PERSON only | 7 | 258 ms |
| analyze | 160 | en | 108 | PERSON+EMAIL+PHONE | 8 | 266 ms |
| analyze | 160 | en | 113 | All entities | 8 | 264 ms |
| decrypt | 342 | en | 37 | decrypt | 2 | 188 ms |
| batch-analyze | 476 | en,de,fr | 394 | N/A | 26 | 5,278 ms |
Metodologi Pengujian
Rangkaian pengujian kami menggabungkan pengujian Playwright tingkat GUI dengan validasi API langsung untuk cakupan komprehensif.
Pengujian GUI
Otomasi browser Playwright menguji alur kerja pengguna nyata — mengklik tombol, mengisi formulir, menavigasi antar halaman, dan memverifikasi output visual.
Pengujian API
Permintaan HTTP langsung memvalidasi setiap titik akhir dengan kasus tepi, input cacat, dan kondisi batas yang tidak dapat dicakup oleh pengujian GUI saja.
Caching Sesi
Sesi yang terautentikasi dicache dan digunakan kembali di seluruh pencapaian, mengurangi waktu pengujian sambil mempertahankan perilaku pengguna yang realistis.
Pembersihan CRUD
Setiap entitas, preset, dan kunci enkripsi yang dibuat selama pengujian dibersihkan setelahnya, memastikan tes bersifat idempoten dan dapat diulang.