Как проверить негативное воздействие при вводе числа 5, если программа падает с ошибкой
Что проверяют
Умеете ли вы локализовать дефект, а не просто записать «падает на пятёрке». Интервьюер ждёт, что вы выясните, только ли 5 ломает программу, и оцените последствия падения: что происходит с данными, другими пользователями и состоянием системы. Следом обычно спрашивают, как вы оформите баг-репорт и какую поставите серьёзность.
Как отвечать
Стройте ответ как исследование в несколько шагов:
- воспроизведение: повторить на чистом окружении, записать версию сборки, браузер или устройство, точные шаги. Понять, падает стабильно или раз из десяти;
- границы дефекта: проверить соседей 4 и 6, а также
5.0,05, пятёрку с пробелом,-5, ту же пятёрку в других полях. Часто 5 оказывается границей: массив на пять элементов, лимит, деление на разность с пятёркой. Цель понять, это одно значение или класс эквивалентности; - обход интерфейса: отправить то же значение напрямую в API через Postman или
curl. Если сервер отвечает 500, проблема на бэкенде, если API в порядке, ищем в клиенте; - артефакты: стектрейс из логов сервера, консоль и вкладка Network в DevTools, для мобильного приложения logcat или отчёт Crashlytics;
- последствия: сохранилась ли часть данных до падения, открывается ли приложение после перезапуска, задевает ли сбой других пользователей, не показывает ли ошибка стектрейс наружу.
Итог оформляется баг-репортом: шаги, фактический и ожидаемый результат, окружение, логи. Серьёзность ставится по последствиям: падение с потерей введённых данных весит больше, чем падение, после которого пользователь просто повторил действие. После исправления нужны повторная проверка, прогон соседних значений и тест в регрессионном наборе, чтобы пятёрка не вернулась.
Где спотыкаются
Проверяют только саму пятёрку. Без соседних значений и других форматов разработчик получает симптом, а не описание дефекта, и может починить частный случай.
Уходят в роль разработчика: «открою код и найду ошибку». Это плюс, но от тестировщика ждут локализации и доказательств, а не патча.
Забывают про последствия. Само падение видно всем, а потерянная запись в базе или повреждённый файл обнаружатся только при целенаправленной проверке после сбоя.