419/419 Tests Godkendt
100% GodkendelsesprocentOmfattende produktionstestsuite, der dækker GUI-interaktioner, API-slutpunkter, sikkerhed, ydeevne og browserkompatibilitet — alt verificeret med.
Infrastruktur-opgradering
Op til 467× HurtigereI marts 2026 migrerede vi fra en delt VPS til en dedikeret server med 16× mere RAM, 5 parallelle analysearbejtere og alle 48 sprogmodeller forindlæst.
Samtid Ydeevne
Den nye server håndterer hundreder af samtidige anmodninger på tværs af alle tjenester uden fejl.
| Tjeneste | Samtidig | Succes | Gennemsnit | 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 |
Fuld Pipeline-hastighed
End-to-end analyse + anonymiserings-latens på den nye server, målt med alle sprogmodeller varme.
| Sprog | Motor | Pipeline Gennemsnit | Enheder |
|---|---|---|---|
| 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 |
Gamle serverpriser inkluderer fuld GUI-testpipeline (Playwright + API). Nye serverpriser er API-kun benchmarking med alle modeller varme. Forbedringen afspejler reelle infrastrukturgevinster: eliminerede kolde starts, 5× parallelisme og NVMe-lagerplads.
13 Testmilepæle
Hver milepæl dækker et forskelligt funktionelt område af platformen, fra godkendelse til browserkompatibilitet.
Authentication & Session
22/22 tests
Login, sessionpersistens, profil, sundhedskontroller, godkendelsesværn, logud/gen-login
PII Detection (Analyzer)
62/62 tests
48-sprogsanalyse via GUI, enhedsfiltre, scoreterskel, grænsetilfælde, tastaturgenveje
Anonymizer (5 Operators)
40/40 tests
replace, redact, hash, mask, encrypt operatorer via API og GUI, hurtighandlinger, flersproget
Decrypt (Roundtrip)
22/22 tests
Krypter-derefter-dekrypter rundture for AES-256/128/192, flersproget, nøglevalidering, stor tekst
Batch & File Upload
20/20 tests
Batchvise tekstbehandling, filuploadUI, faneskift, behandlingsstatus
Entity Management
28/28 tests
Enhed CRUD på tværs af 3 faner, AI Creator, valideringsregler, rydningsbekræftelse
Preset Management
28/28 tests
Forudindstilling CRUD på tværs af 3 faner, ansøgningsflow, valideringsregler, rydningsbekræftelse
Settings (10 Tabs)
42/42 tests
Alle 10 indstillingsfaner: Konto, Fakturering, Tokens, Sikkerhed, Historik, Sprog, Krypteringsnøgler, Tjenester, Udvikler
API Security
35/35 tests
Kernesluttpunkter, sikkerhedsoverskrifter, CORS-politik, inputvalidering, godkendelsessikkerhed, hastighedsbegrænsning
Token Usage Monitoring
24/24 tests
Tokenforbrug efter tekststørrelse, operator, sprog, enhedsfilter, dekryptering, batch, CSV-eksport
Lighthouse & Quality
20/20 tests
Lighthouse-score på 8 sider, visningsport-responsivitet, tilgængelighed, SEO, konsolfel, ødelagte links
48 Languages + RTL
56/56 tests
Analyse for alle 48 sprog, 4 RTL-layoutkontroller, spragsyntning, selectorvalidering
Cross-Browser
20/20 tests
5 sider på tværs af Chromium, Firefox, WebKit og Mobile Chrome — nul konsolfel
48-sprogsækning
Hvert understøttet sprog testes med reelle PII-prøver. Tre NLP-motortyper sikrer optimal nøjagtighed pr. sprog.
| Sprog | Kode | Motor | Enheder | Gammel Server | Ny Server | Hastighedsforbedring | 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× |
Browserkompatibilitet
5 kritiske sider testet på tværs af 4 browsermotorer med nul konsolfel og ingen vandret overløb.
Chromium
5 af 5 sider
Alt GodkendtFirefox
5 af 5 sider
Alt GodkendtWebKit
5 af 5 sider
Alt GodkendtMobile Chrome
5 af 5 sider
Alt GodkendtSikkerhedstestning
35 Tests35 dedikerede sikkerhedstests, der dækker API-slutpunkter, overskrifter, CORS, inputvalidering, godkendelse og hastighedsbegrænsning.
Kernesluttpunkter
8 tests8 tests, der verificerer API-slutpunktstilgang og svarskoder
Sikkerhedsoverskrifter
6 tests6 tests for CSP, X-Frame-Options, HSTS og mere
CORS-politik
5 tests5 tests for håndtering af tværoriginkrav
Inputvalidering
6 tests6 tests for XSS, SQL-injektion og forkert udformet input
Godkendelsessikkerhed
5 tests5 tests for godkendelsesomgåelse og sessionssikkerhed
Hastighedsbegrænsning
5 tests5 tests for API-hastighedsbegrænsningsimplementering og Retry-After-overskrifter
Tokenbrugsanalyse
Samlet Brugte Tokens: 76822 tokenforbrugstests, der måler omkostningseffektivitet på tværs af operationer, tekststørrelser, sprog og operatorer.
| Operation | Tegn | Sprog | Enheder | Operator | Tokens | Svartid |
|---|---|---|---|---|---|---|
| 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 |
Testtmetodologi
Vores testsuite kombinerer GUI-niveau Playwright-testning med direkte API-validering for omfattende dækning.
GUI-testning
Playwright-browserautomation tester reelle brugerworkflows — at klikke på knapper, udfylde formularer, navigere mellem sider og verificere visuelt output.
API-testning
Direkte HTTP-forespørgsler validerer hvert slutpunkt med grænsetilfælde, forkert udformet input og grænsebetingelser, som GUI-testning alene ikke kan dække.
Sessionscaching
Godkendte sessioner cachelagres og genbruges på tværs af milepæle, hvilket reducerer testkøringstiden, mens realistisk brugeradfærd opretholdes.
CRUD-oprydning
Hver enhed, forudindstilling og krypteringsnøgle, der oprettes under testning, ryddes op bagefter, hvilket sikrer, at tests er idempotente og gentagelige.