04Тестирование
Поиск edge cases
Систематический поиск граничных случаев для функции / API / UI.
Найди edge cases для: {{target}}.
Подход: перебери оси, на которых может всё сломаться.
1. По типам входных данных
- Пустота:
"",[],{},null,undefined - Граничные числа: 0, -1, MAX_INT, MIN_INT, NaN, Infinity, дробные где ожидается целое
- Длина: строка из 1 символа, из 10000 символов, очень длинная
- Кодировки: ASCII, Unicode, emoji, RTL (арабский), CJK, control chars
- Whitespace: " ", "\n", "\t", trailing/leading
- Регистр: "ABC", "abc", "AbC"
- Спецсимволы: SQL-injection-ish "'; DROP TABLE", XSS "<script>", URL-encoded
- Несуществующие значения: ID которого нет в БД
2. По времени
- Очень быстро: два клика подряд, double-submit
- Очень медленно: запрос длится 30 сек
- Прерывания: отмена в середине
- Параллельно: 10 одновременных запросов
- Out of order: webhook пришёл после следующего
3. По состоянию
- Пустое: ни одной записи в БД
- Большой объём: 1M записей, длинный список
- Изменённое во время операции: запись удалили пока редактируешь
- Несогласованное: в БД мусор после миграции
4. По правам и контексту
- Без прав: anonymous user
- С другой ролью: user vs admin
- Чужие данные: ID принадлежит другому пользователю
- Просроченный токен: session timeout
5. По сети
- Offline: что произойдёт?
- Slow connection: таймаут
- DNS fail: резолв не удался
- Сервер отвечает 500 / 429 / 504
- Сервер вернул некорректный JSON
6. По устройству (UI)
- Узкий экран: 320px
- Очень широкий: 4K
- High-DPI: retina
- Touch vs mouse
- Клавиатура: Tab навигация, Enter, Esc
- Тёмная тема
- Reduced motion
- Низкая память / медленный процессор
7. Бизнес-edge
- Граничные суммы: 0₽, отрицательная сумма, очень большая
- Возвраты: возврат после возврата
- Локализация: разные валюты, форматы дат
- Таймзоны: UTC vs локальная
- DST: переход на летнее/зимнее время
Формат
## Должно работать
- ...
## Должно мягко отказать (ошибка пользователю)
- ...
## Должно отбросить (4xx)
- ...
## Должно залогировать и продолжить
- ...
Принципы
- "Так не будет" — будет. Покрой.
- Различай "ошибка пользователя" и "ошибка системы" — реакция разная
- Edge case = тест. Если не покрыт тестом, это будущий баг
Похожие промты
design / ux
Дизайн ошибок и edge-состояний
Все способы как может пойти не так: формы, сеть, авторизация, лимиты — и что показывать.
uxerrorsedge-cases
Открыть
Средний30-60 мин
agents / create
Тест-сюита для агента
Набор кейсов и автоматическая прогонка с проверкой ожидаемого поведения.
agentstestingeval
Открыть
Продвинутый30-60 мин
agents / evals
Eval-фреймворк для LLM
Как мерить качество промтов и агентов: test set, метрики, автоматизация.
evalsmetricstesting
Открыть
Продвинутый30-60 мин