419/419 тестів пройдено
100% успішністьКомплексний набір тестів виробництва, що охоплює взаємодію з графічним інтерфейсом, кінцеві точки API, безпеку, продуктивність та сумісність між.
Оновлення інфраструктури
До 467× швидшеУ березні 2026 року ми перейшли з загального VPS на виділений сервер з RAM у 16 разів більше, 5 паралельних робочих процесів аналізатора та усі 48.
Одночасна продуктивність
Новий сервер обробляє сотні одночасних запитів у всіх сервісах без помилок.
| Служба | Одночасно | Успіх | Середня | 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 |
Повна швидкість конвеєра
Наскрізна затримка аналізування + анонімізування на новому сервері, виміряна з усіма мовними моделями в розпалу.
| Мова | Механізм | Середня конвеєра | Сутності |
|---|---|---|---|
| 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 |
Часи старого сервера включають повний конвеєр тестування GUI (Playwright + API). Часи нового сервера — це тільки API еталони з усіма заґрітими моделями. Поліпшення відображає реальні приросту інфраструктури: усунені холодні старти, паралелізм 5×, та сховище NVMe.
13 етапів тестування
Кожен етап охоплює окрему функціональну область платформи, від автентифікації до сумісності між браузерами.
Authentication & Session
22/22 тестів
Вхід, стійкість сесії, профіль, перевірки здоров'я, охоронці автентифікації, вихід/повторний вхід
PII Detection (Analyzer)
62/62 тестів
Аналіз 48 мов через графічний інтерфейс, фільтри сутностей, пороги оцінок, граничні випадки, комбінації клавіш
Anonymizer (5 Operators)
40/40 тестів
Оператори Replace, Redact, Hash, Mask, Encrypt через API та графічний інтерфейс, швидкі дії, багатомовність
Decrypt (Roundtrip)
22/22 тестів
Раунди шифрування-розшифрування для AES-256/128/192, багатомовність, перевірка ключа, великий текст
Batch & File Upload
20/20 тестів
Пакетна обробка тексту, інтерфейс завантаження файлів, перемикання вкладок, статус обробки
Entity Management
28/28 тестів
CRUD сутностей на 3 вкладках, Творець AI, правила перевірки, перевірка очищення
Preset Management
28/28 тестів
CRUD встановлених параметрів на 3 вкладках, застосування потоку, правила перевірки, перевірка очищення
Settings (10 Tabs)
42/42 тестів
Усі 10 вкладок параметрів: Обліковий запис, Виставлення рахунків, Токени, Безпека, Історія, Мова, Ключі шифрування, Служби, Розробник
API Security
35/35 тестів
Основні кінцеві точки, заголовки безпеки, політика CORS, перевірка вхідних даних, безпека автентифікації, обмеження швидкості
Token Usage Monitoring
24/24 тестів
Споживання токенів за розміром тексту, оператором, мовою, фільтром сутностей, розшифруванням, пакетом, експортом CSV
Lighthouse & Quality
20/20 тестів
Оцінки Lighthouse на 8 сторінках, чутливість вигляду, доступність, SEO, помилки консолі, розірвані посилання
48 Languages + RTL
56/56 тестів
Аналіз для всіх 48 мов, 4 перевірки макета RTL, перемикання мови, перевірка селектора
Cross-Browser
20/20 тестів
5 сторінок у Chromium, Firefox, WebKit та Mobile Chrome — нульові помилки консолі
Охоплення 48 мов
Кожна підтримувана мова тестується з реальними зразками PII. Три типи механізмів NLP забезпечують оптимальну точність для кожної мови.
| Мова | Код | Механізм | Сутності | Старий сервер | Новий сервер | Приріст швидкості | Статус |
|---|---|---|---|---|---|---|---|
| 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× |
Сумісність між браузерами
5 критичних сторінок тестуються на 4 механізмах браузера без помилок консолі та без горизонтального переповнення.
Chromium
5 з 5 сторінок
Усі пройденіFirefox
5 з 5 сторінок
Усі пройденіWebKit
5 з 5 сторінок
Усі пройденіMobile Chrome
5 з 5 сторінок
Усі пройденіТестування безпеки
35 тестів35 спеціалізованих тестів безпеки, що охоплюють кінцеві точки API, заголовки, CORS, перевірку вхідних даних, автентифікацію та обмеження швидкості.
Основні кінцеві точки
8 tests8 тестів, що перевіряють доступність кінцевої точки API та коди відповідей
Заголовки безпеки
6 tests6 тестів для CSP, X-Frame-Options, HSTS та інших
Політика CORS
5 tests5 тестів обробки запитів між джерелами
Перевірка вхідних даних
6 tests6 тестів для XSS, SQL injection та неправильно сформованого вводу
Безпека автентифікації
5 tests5 тестів для обходу автентифікації та безпеки сесії
Обмеження швидкості
5 tests5 тестів для забезпечення обмеження швидкості API та заголовків Retry-After
Аналіз використання токенів
Всього використаних токенів: 76822 тести споживання токенів, які вимірюють ефективність вартості в операціях, розмірах тексту, мовах та операторах.
| Операція | Символи | Мова | Сутності | Оператор | Токени | Час відповіді |
|---|---|---|---|---|---|---|
| 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 |
Методика тестування
Наш набір тестів поєднує тестування Playwright на рівні графічного інтерфейсу з прямою перевіркою API для комплексного охоплення.
Тестування графічного інтерфейсу
Автоматизація браузера Playwright тестує реальні робочі процеси користувача — натискання кнопок, заповнення форм, навігація між сторінками та перевірка візуального вихідних даних.
Тестування API
Прямі HTTP-запити перевіряють кожну кінцеву точку з граничними випадками, неправильно сформованим вхідними даними та граничними умовами, які тестування графічного інтерфейсу само по собі не може охопити.
Кешування сесії
Автентифіковані сесії кешуються та повторно використовуються на етапах, зменшуючи час виконання тестів при збереженні реалістичної поведінки користувача.
Очищення CRUD
Кожна сутність, встановлений параметр та ключ шифрування, створені під час тестування, очищуються надалі, забезпечуючи ідемпотентність та повторюваність тестів.