Ответ
Техника «Предугадывание ошибок» (Error Guessing) в значительной степени опирается на опыт тестировщика и глубокое знание продукта, его архитектуры и типичных «болевых точек».
Как это работает: Тестировщик использует интуицию и прошлый опыт, чтобы предположить, в каких компонентах системы с наибольшей вероятностью могут быть дефекты, без применения формальных методов (таблиц решений, анализа граничных значений).
Примеры сценариев, основанных на знании продукта:
- Знание кодовой базы: Проверка мест, где ранее уже находили ошибки (регрессия) или где код был написан новичком.
- Понимание бизнес-логики: Тестирование сложных расчётов, условий скидок или валидаций, где легко ошибиться.
- Знание интеграций: Проверка обработки ошибок при недоступности внешнего API или при получении нестандартного ответа.
- Опыт в предметной области: Например, знание того, что в финансовых системах критически важны точность округления и аудит операций.
Практический пример: Зная, что функция делит числа, тестировщик сразу проверяет деление на ноль и обработку нечисловых входных данных.
# Код, где можно применить Error Guessing
def calculate_discount(total, discount_percent):
# Знание продукта подсказывает проверить:
# 1. discount_percent > 100 или < 0
# 2. total — отрицательное число
# 3. discount_percent = 0
# 4. Очень большие числа (переполнение)
return total * (1 - discount_percent / 100)
Эта техника эффективно дополняет формальные методы, позволяя находить сложные и неочевидные дефекты.