Техника · Error Guessing
Угадывание
ошибок
Error Guessing — неформальная техника: опытный тестировщик предсказывает, где разработчик мог допустить ошибку, и сразу туда смотрит. Это не интуиция из воздуха — это паттерны из сотен проектов.
Спецификация — Загрузка аватара пользователя
Разрешённые форматы
JPG, PNG, GIF
Отображение
Обрезка 200×200 пкс
Видимость
Публичная страница профиля
Упражнение — Выбери тест-кейсы
Ниже перечислены тест-идеи. Отметь те, которые, по-твоему, относятся к Error Guessing — не выводятся напрямую из спеки, а основаны на опыте и знании типичных ошибок. Затем нажми «Показать ответы».
Загрузить файл с расширением .jpg, но содержимым PNG-файла
Загрузить файл shell.php с заголовком Content-Type: image/jpeg
Загрузить GIF размером 5.1 МБ (на 100 КБ больше лимита)
Загрузить файл с именем ../../etc/passwd.jpg
Загрузить SVG-файл (не указан в спеке, но браузер рендерит его как изображение)
Загрузить JPG ровно 5 МБ (точная граница)
Загрузить изображение размером 1×1 пиксель или крайне вытянутое (1×5000 пкс)
Загрузить файл нулевого размера (0 байт)
Вопрос 01
Из чего формируется база для Error Guessing?
Из требований и спецификаций
Из опыта тестировщика и знания типичных ошибок разработчиков
Из таблиц решений и диаграмм состояний
Вопрос 02
В чём главное отличие Error Guessing от BVA и Decision Table?
Генерирует меньше тест-кейсов
Не требует требований — работает там, где формальные техники слепы
Даёт более воспроизводимые результаты
Что запомнить
- Error Guessing — не случайное тыканье. Это систематизированный опыт: список паттернов ошибок, которые разработчики делают снова и снова.
- Хорошие источники паттернов: CVE-базы, OWASP Top 10, личные ретроспективы — что пропускалось в прошлом.
- Используй Error Guessing в дополнение к формальным техникам, а не вместо них. BVA покроет границы, Decision Table — комбинации, Error Guessing — всё остальное.
- Для файловых операций всегда проверяй: нулевой файл, двойное расширение, спецсимволы в имени, несоответствие расширения содержимому.