Техника тест-дизайна 'Предугадывание ошибок' (Error Guessing) основана на интуиции, опыте и знаниях тестировщика о возможных дефектах в программном обеспечении. Суть заключается в предположении, где и какие ошибки могут возникнуть, и создании тестов, направленных непосредственно на обнаружение этих предполагаемых дефектов.
Основные аспекты:
- Опора на опыт: Тестировщик использует свой предыдущий опыт работы с подобными системами, знание типичных ошибок программирования, уязвимостей и проблем, возникающих при определенных условиях.
- Знание приложения: Глубокое понимание функциональности, архитектуры и логики работы тестируемого приложения позволяет предсказать проблемные зоны.
- Анализ требований: Изучение документации и требований может выявить неоднозначности, противоречия или пропущенные сценарии, которые могут привести к ошибкам.
- Типичные области для тестирования:
- Граничные условия.
- Обработка некорректных, нулевых или пустых входных данных.
- Обработка исключений и ошибок.
- Работа с базами данных (ограничения, типы данных, связи).
- Поведение при высокой нагрузке или нехватке ресурсов.
- Работа с сессиями и авторизацией.
- "Злые" пути (негативные сценарии).
Примеры предполагаемых ошибок:
- Переполнение буфера при вводе длинной строки.
- Деление на ноль.
- Некорректная обработка даты и времени.
- Проблемы конкурентного доступа к ресурсам.
- Утечки памяти.
- Неправильная обработка спецсимволов.
Техника эффективна для быстрого нахождения критических дефектов, но сильно зависит от квалификации и опыта тестировщика. Она часто используется в комбинации с формальными техниками тест-дизайна для обеспечения более полного покрытия.