419/419 testů prošlo
100% míra úspěchuKomplexní sada testů v produkci zahrnující interakce s grafickým rozhraním, koncové body API, bezpečnost, výkon a kompatibilitu mezi prohlížeči — vše.
Upgrade Infrastruktury
Až 467× RychlejiV březnu 2026 jsme migrovali ze sdíleného VPS na vyhrazený server s 16× více RAM, 5 paralelními pracovními procesy analyzátoru a všemi 48 jazykovými.
Souběžná Výkonnost
Nový server zpracovává stovky souběžných požadavků ve všech službách bez chyb.
| Služba | Souběžně | Úspěch | Průměr | 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 |
Úplná Rychlost Kanálu
Latence end-to-end analýza + anonymizace na novém serveru, měřeno se všemi teplými jazykovými modely.
| Jazyk | Motor | Průměr Kanálu | Entity |
|---|---|---|---|
| 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 |
Časy starého serveru zahrnují úplný testovací pipeline GUI (Playwright + API). Časy nového serveru jsou pouze benchmark API se všemi teplými modely. Zlepšení odráží skutečné zisky infrastruktury: odstraněné studené starty, 5× paralelismus a NVMe úložiště.
13 milníků testování
Každý milník zahrnuje samostatnou funkční oblast platformy, od ověřování totožnosti až k kompatibilitě mezi prohlížeči.
Authentication & Session
22/22 testů
Přihlášení, trvalost relace, profil, zdravotní kontroly, hlídací ochrana, odhlášení/opětovné přihlášení
PII Detection (Analyzer)
62/62 testů
Analýza 48 jazyků prostřednictvím grafického rozhraní, filtry entit, prahové hodnoty skóre, hraniční případy, klávesové zkratky
Anonymizer (5 Operators)
40/40 testů
Operátoři Replace, Redact, Hash, Mask, Encrypt prostřednictvím API a GUI, rychlé akce, vícejazyčné
Decrypt (Roundtrip)
22/22 testů
Cykly šifrování-pak-dešifrování pro AES-256/128/192, vícejazyčné, ověření klíče, velký text
Batch & File Upload
20/20 testů
Dávkové zpracování textu, uživatelské rozhraní nahrávání souborů, přepínání karty, stav zpracování
Entity Management
28/28 testů
CRUD entit na 3 kartách, Tvůrce AI, ověřovací pravidla, ověření čistoty
Preset Management
28/28 testů
CRUD předvoleb na 3 kartách, tok aplikace, ověřovací pravidla, ověření čistoty
Settings (10 Tabs)
42/42 testů
Všech 10 karet nastavení: Účet, Fakturace, Tokeny, Bezpečnost, Historie, Jazyk, Šifrovací klíče, Služby, Vývojář
API Security
35/35 testů
Základní koncové body, záhlaví zabezpečení, politika CORS, ověřování vstupu, bezpečnost ověření, omezení rychlosti
Token Usage Monitoring
24/24 testů
Spotřeba tokenu podle velikosti textu, operátoru, jazyka, filtru entit, dešifrování, dávky, export CSV
Lighthouse & Quality
20/20 testů
Skóre Lighthouse na 8 stránkách, citlivost na pohled, přístupnost, SEO, chyby konzoly, nefunkční odkazy
48 Languages + RTL
56/56 testů
Analýza pro všechny 48 jazyků, 4 kontroly rozvržení RTL, přepínání jazyka, ověření výběru
Cross-Browser
20/20 testů
5 stránek přes Chromium, Firefox, WebKit a Mobile Chrome — nula chyb konzoly
Pokrytí 48 jazyků
Každý podporovaný jazyk je testován se skutečnými vzorky PII. Tři typy motorů NLP zajistí optimální přesnost pro každý jazyk.
| Jazyk | Kód | Motor | Entity | Starý Server | Nový Server | Zisk na Rychlosti | Stav |
|---|---|---|---|---|---|---|---|
| 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× |
Kompatibilita mezi prohlížeči
5 kritických stránek testovaných na 4 motorech prohlížeče bez chyb konzoly a bez horizontálního přetečení.
Chromium
5 z 5 stránek
Vše procházíFirefox
5 z 5 stránek
Vše procházíWebKit
5 z 5 stránek
Vše procházíMobile Chrome
5 z 5 stránek
Vše procházíTestování bezpečnosti
35 testů35 vyhrazených testů bezpečnosti zahrnujících koncové body API, záhlaví, CORS, ověřování vstupu, ověřování a omezení rychlosti.
Základní koncové body
8 tests8 testů ověřujících dostupnost koncového bodu API a kódy odpovědí
Záhlaví zabezpečení
6 tests6 testů pro CSP, X-Frame-Options, HSTS a další
Politika CORS
5 tests5 testů pro zpracování požadavků mezi zdroji
Ověření vstupu
6 tests6 testů pro XSS, injekci SQL a nesprávný vstup
Zabezpečení ověření
5 tests5 testů pro obejití ověření a zabezpečení relace
Omezení rychlosti
5 tests5 testů pro vynucení limitu rychlosti API a záhlaví Retry-After
Analýza využití tokenů
Celkem použitých tokenů: 76822 testů spotřeby tokenů měřících efektivitu nákladů v operacích, velikostech textu, jazycích a operátorech.
| Operace | Znaky | Jazyk | Entity | Operátor | Tokeny | Doba odpovědi |
|---|---|---|---|---|---|---|
| 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 |
Metodika testování
Naša sada testů kombinuje testování Playwright na úrovni GUI s přímým ověřením API pro komplexní pokrytí.
Testování GUI
Automatizace prohlížeče Playwright testuje skutečné pracovní toky uživatelů — klikání na tlačítka, vyplňování formulářů, navigace mezi stránkami a ověřování vizuálního výstupu.
Testování API
Přímé HTTP požadavky ověřují každý koncový bod s hraniční případy, nesprávným vstupem a podmínkami, které testování GUI samo nemůže pokrýt.
Ukládání relace do mezipaměti
Ověřené relace jsou ukládány do mezipaměti a znovu používány v milnících, snižují čas chodu testů při zachování realistického chování uživatele.
Čištění CRUD
Každá entita, předvolba a šifrovací klíč vytvořený během testování jsou následně vyčištěny, zajistí, že testy jsou idempotentní a opakovatelné.