Test each edge, not random middles.Why: the limit is one small rule in the code — “less than” vs “less than or equal”. Only edge values reveal the mistake.
Then the weird inputs:O'Brien (apostrophe = database command sign), <script> (text must be shown, never run), a 5 000-character paste (breaks layouts, gets cut silently).
“Bugs lurk in corners and congregate at boundaries.” — Beizer
ТехнікаUA
Баги ховаються на межах
Тестуйте кожну межу, а не випадкові середини.Чому: ліміт — це одне маленьке правило в коді: «менше» чи «менше або дорівнює». Помилку видно лише на крайніх значеннях.
Далі — дивні дані:O'Brien (апостроф — службовий знак бази даних), <script> (текст має показуватися, а не виконуватися), вставка на 5 000 символів (ламає верстку, база мовчки обрізає).
«Баги ховаються в кутках і збираються на межах.» — Байзер
TechniqueEN
One feature, seven angles
1 · Happy pathconfirm the normal flow — half the job
2 · Negativedo what’s “not allowed” — the “no” cases get forgotten
3 · Boundaries0, 1, max, max+1, empty, enormous
4 · Permissionstry to see what your role must not see — leaks are critical
5 · Interruptionsrefresh mid-save, double-click, back button, two tabs
6 · Data statesempty new account vs. 500 orders — devs only saw 3 rows
7 · Stranger’s eyesconfusing = broken; confusion is a bug
ТехнікаUA
Одна фіча — сім кутів атаки
1 · Основний сценарійпідтвердіть нормальний потік — це половина роботи
2 · Негативні тестиробіть «заборонене» — випадки «ні» найчастіше забуті
4 · Права доступуспробуйте побачити те, чого вашій ролі не можна — витоки критичні
5 · Перериванняоновлення під час збереження, подвійний клік, «назад», дві вкладки
6 · Стани данихпорожній новий акаунт проти 500 замовлень — розробники бачили лише 3 рядки
7 · Очі новачканезрозуміле = зламане; плутанина — це баг
The UX eyeEN
“Broken” is not the only bug
Hard to use = friction ticket
It worked… but took 9 clicks
I wasn’t sure which button to press
20 things on screen, I needed 3
Three spot-checks
Count the clicks for a core task
Squint: if everything shouts, nothing does
Ask: if this element vanished, would anyone miss it?
“Perfection is achieved when there is nothing left to take away.” — Saint-Exupéry · removing 30–50% of a page often makes it better.
Погляд UXUA
«Зламано» — не єдиний вид багів
Незручно = тікет UX
Спрацювало… але за 9 кліків
Я не знав, яку кнопку натиснути
На екрані 20 елементів, потрібні були 3
Три швидкі перевірки
Порахуйте кліки для ключової задачі
Примружтеся: якщо кричить усе — не кричить ніщо
Спитайте: якби цей елемент зник, хтось би помітив?
«Досконалість досягається не тоді, коли нема чого додати, а коли нема чого прибрати.» — Сент-Екзюпері · прибрати 30–50% сторінки часто означає зробити її кращою.
Our setupEN
You three are the company
A · Company Owner
Users, roles, permissions, plan limits. “Can my people do too much?”
B · Buyer
Projects, RFQs, quotes, messages — the core money path, end to end.
C · The Outsider
Second company + admin app. Company 2 must never see Company 1’s data.
Play your part of the story — and poke the fences. Story breaks anywhere → that’s a bug.
Наша системаUA
Ви втрьох — ціла компанія
A · Власник компанії
Користувачі, ролі, права, ліміти тарифу. «Чи не можуть мої люди забагато?»
B · Закупівельник
Проєкти, RFQ, пропозиції, повідомлення — основний грошовий шлях від початку до кінця.
C · Сторонній
Друга компанія + адмін-застосунок. Компанія 2 ніколи не має бачити дані Компанії 1.
Реєстрація→Компанія + ролі→Постачальники→Проєкт→RFQ→Пропозиції→Порівняння і вибір→Доставка
Грайте свою роль у цій історії — і смикайте огорожі. Історія зламалася будь-де → це баг.
ReportingEN
A bug badly reported doesn’t exist
✓ Gets fixed same day
Title: [Orders] "Send" stays
disabled after CSV import
1. Buyer, Company A, staging
2. Project → New order
3. Import items via CSV (attached)
Expected: Send enabled
Actual: greyed out (screenshot)
Chrome 138/macOS · 3 of 3 tries