419/419 testova prolazi
100% uspešna stopaSveobuhvatni paket za testiranje produkcije koji pokriva interakcije GUI-ja, API krajnje točke, sigurnost, performanse i kompatibilnost preglednika.
Nadogradnja Infrastrukture
467× BržeU ožujku 2026., migrirali smo sa zajedničkog VPS-a na namenski server sa 16× više RAM-a, 5 paralelnih analyzer worker-a i svim 48 unaprijed učitanih.
Konkurentna Izvedba
Novi server obrađuje stotine istovremenih zahteva preko svih servisa bez greške.
| Servis | Istovremeno | Uspeh | Prosek | 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 |
Brzina Punog Pipeline-a
Latencija analize i anonimizacije end-to-end na novom serveru, merena sa svim jezičnim modelima zagrejani.
| Jezik | Motor | Pipeline Prosek | Entiteti |
|---|---|---|---|
| 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 |
Vremena starog servera uključuju kompletan GUI test pipeline (Playwright + API). Vremena novog servera su samo API benchmark-ovi sa svim modelima zagrejani. Poboljšanja reflektuju prave infrastrukturne dobitke: eliminacija hladnih pokretanja, 5× paralelizm i NVMe pohrana.
13 većih verzija testiranja
Svaka veća verzija pokriva jedno funkcijsko područje platforme, od autentifikacije do kompatibilnosti preglednika.
Authentication & Session
22/22 testova
Prijava, trajnost sesije, profil, provjere zdravlja, zaštita autentifikacije, odjava/ponovna prijava
PII Detection (Analyzer)
62/62 testova
Analiza 48 jezika preko GUI-ja, filtri entiteta, pragovi rezultata, slučajevi na rubovima, prečaci tipkovnice
Anonymizer (5 Operators)
40/40 testova
Operatori Replace, Redact, Hash, Mask, Encrypt preko API-ja i GUI-ja, brze akcije, multilingvalni
Decrypt (Roundtrip)
22/22 testova
Okrugle putanje šifriranja-pa-dešifriranja za AES-256/128/192, multilingvalni, potvrda ključa, veliki tekst
Batch & File Upload
20/20 testova
Obrada teksta u grupama, sučelje za učitavanje datoteka, prebacivanje između kartice, status obrade
Entity Management
28/28 testova
CRUD entiteta u 3 kartice, AI Creator, pravila provjere, provjera čišćenja
Preset Management
28/28 testova
CRUD unaprijed postavljenih vrijednosti u 3 kartice, tok primjene, pravila provjere, provjera čišćenja
Settings (10 Tabs)
42/42 testova
Sve 10 kartice postavki: Račun, Naplata, Tokeni, Sigurnost, Historija, Jezik, Ključi šifriranja, Usluge, Razvojni
API Security
35/35 testova
Glavne krajnje točke, zaglavlja sigurnosti, CORS politika, provjera ulaza, sigurnost autentifikacije, ograničenje brzine
Token Usage Monitoring
24/24 testova
Potrošnja tokena po veličini teksta, operatoru, jeziku, filtru entiteta, dešifriranje, grupe, izvoz CSV
Lighthouse & Quality
20/20 testova
Lighthouse rezultati na 8 stranica, odgovor prikaza, dostupnost, SEO, greške konzole, prekinute veze
48 Languages + RTL
56/56 testova
Analiza za svi 48 jezika, 4 provjere RTL rasporeda, prebacivanje jezika, provjera selektora
Cross-Browser
20/20 testova
5 stranica kroz Chromium, Firefox, WebKit i Mobile Chrome — bez grešaka konzole
Pokrivenost 48 jezika
Svaki podržani jezik testira se sa pravim PII uzorcima. Tri vrste NLP motora osiguravaju optimalnu preciznost za svaki jezik.
| Jezik | Kod | Motor | Entiteti | Stari Server | Novi Server | Dobitak Brzine | 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× |
Kompatibilnost između preglednika
5 kritičnih stranica testirano je kroz 4 motora preglednika bez grešaka konzole i bez horizontalnog prelijevanja.
Chromium
5 od 5 stranica
Sve prolazeFirefox
5 od 5 stranica
Sve prolazeWebKit
5 od 5 stranica
Sve prolazeMobile Chrome
5 od 5 stranica
Sve prolazeTestiranje sigurnosti
35 testova35 namjenskih testova sigurnosti koji pokrivaju API krajnje točke, zaglavlja, CORS, provjeru ulaza, autentifikaciju i ograničenje brzine.
Glavne krajnje točke
8 tests8 testova koji potvrđuju dostupnost API krajnje točke i kodove odgovora
Zaglavlja sigurnosti
6 tests6 testova za CSP, X-Frame-Options, HSTS i više
CORS politika
5 tests5 testova za rukovanje zahtjevima s drugačijeg izvora
Provjera ulaza
6 tests6 testova za XSS, SQL injekciju i loše oblikovane ulaze
Sigurnost autentifikacije
5 tests5 testova za zaobilaženje autentifikacije i sigurnost sesije
Ograničenje brzine
5 tests5 testova za primjenu ograničenja brzine API-ja i zaglavlje Retry-After
Analiza potrošnje tokena
Ukupno korištenih tokena: 76822 teста potrošnje tokena koji mjere učinkovitost troškova u operacijama, veličinama teksta, jezicima i operatorima.
| Operacija | Znakovi | Jezik | Entiteti | Operator | Tokeni | Vrijeme odgovora |
|---|---|---|---|---|---|---|
| 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 |
Metodologija testiranja
Naš paket testiranja kombinira testiranje na razini GUI-ja sa Playwright-om i izravnom validacijom API-ja za sveobuhvatnu pokrivenost.
Testiranje GUI-ja
Automatizacija preglednika Playwright testira stvarne korisnićke tokove — klikanje na gumbe, popunjavanje obrazaca, navigiranje između stranica i potvrda vizualnog izlaza.
Testiranje API-ja
Izravni HTTP zahtjevi potvrđuju svaku krajnju točku s graničnim slučajevima, loše oblikovanim ulazima i graničnim uvjetima koje samo testiranje GUI-ja ne može pokriti.
Cachiranje sesije
Autentificirane sesije se caciraju i ponovo koriste tijekom većih verzija, što skraćuje vrijeme izvršavanja testova zadržavajući realno ponašanje korisnika.
CRUD čišćenje
Svaki entitet, unaprijed postavljena vrijednost i ključ šifriranja kreiran tijekom testiranja se nakon toga očiste, osiguravajući da su testovi idempotentni i ponovljivi.