Ответ
Error Guessing — это неформальная техника тест-дизайна, при которой тестировщик использует свой опыт, интуицию и знание типичных ошибок для предсказания сценариев, которые могут вызвать сбой в системе.
Когда применяется:
- Для быстрого поиска критичных дефектов при ограниченном времени.
- Как дополнение к формальным техникам (эквивалентное разбиение, анализ граничных значений).
- При тестировании областей, подверженных частым изменениям.
Пример для поля ввода возраста: На основе опыта тестировщик может проверить следующие проблемные значения:
def validate_age_input(input_value):
"""Функция валидации, которую тестируем."""
try:
age = int(input_value)
if age < 0 or age > 150:
return "Ошибка: возраст вне допустимого диапазона"
return "Успешно"
except ValueError:
return "Ошибка: введите целое число"
# Сценарии для Error Guessing:
test_cases = [
"", # Пустой ввод
"-5", # Отрицательное число
"abc", # Нечисловые символы
"12.5", # Дробное число
"999", # Неправдоподобно большое число
"0", # Граничное значение
"150", # Верхняя граница
" 21 ", # Пробелы вокруг
"0012" # Ведущие нули
]
Преимущество: Позволяет находить сложные и неочевидные дефекты, которые могут быть пропущены формальными методами.
Ответ 18+ 🔞
Да ты посмотри, что за дичь! Сидит тестировщик, блядь, смотрит на поле "возраст" и думает: "Ну-ка, сука, где тут у нас слабое место?" Это и есть Error Guessing, ёпта! Никаких таблиц, никаких формальностей — чистая интуиция и знание, где обычно всё ебётся.
Когда это впендюривают:
- Когда время поджимает, как удав, и надо быстро найти что-то пиздатое.
- Когда уже проверили всё по учебнику, а душа просит похачить систему по-настоящему.
- В тех модулях, которые меняются чаще, чем перчатки у карманника.
Вот смотри, пример для возраста, блядь: Ты же знаешь, что программисты иногда такие... Ну, в общем, доверия к ним — ноль ебать. Поэтому опытный человек сразу полезет проверять не "25" или "30", а вот такую подборку говна:
def validate_age_input(input_value):
"""Функция валидации, которую тестируем."""
try:
age = int(input_value)
if age < 0 or age > 150:
return "Ошибка: возраст вне допустимого диапазона"
return "Успешно"
except ValueError:
return "Ошибка: введите целое число"
# А вот куда мы сейчас ткнем свою грязную, но опытную ручонку:
test_cases = [
"", # Просто нажал Enter, сука. Что будет?
"-5", # Мне минус пять лет, я из будущего, блядь.
"abc", # А вдруг я не цифра, а буква? Проверим-ка.
"12.5", # Полтора года — это полтора или ошибка?
"999", # Я древний маг, мне 999 лет. Пропустите.
"0", # Только что родился, уже заполняю форму.
"150", # Верхняя планка, тут всегда весело.
" 21 ", *Пробелы вокруг — классика жанра, блядь.*
"0012" *Ведущие нули — любимая засада.*
]
А в чём сила-то, брат? Да в том, что эта хитрая жопа-техника часто вылавливает такие косяки, которые от всех этих правильных таблиц и разбиений благополучно прячутся. Программист может быть уверен, что всё покрыл, а ты ему — раз! — и подсовываешь " 21 " с пробелами, и он такой: "Ёбта...". Вот и вся магия.