Как проверить максимальное количество символов в поле ввода этажа в лифте?
Что проверяют
Умеете ли вы превратить абстрактное «поле ввода этажа» в требования и граничные значения, а не бросаться сразу в автоматизацию. Лифт берут именно потому, что спецификации нет, и интервьюер смотрит, какие вопросы вы зададите. Следом обычно спрашивают, что будет после ввода: таймаут, сброс, вызов несуществующего этажа.
Как отвечать
Сначала уточните то, от чего зависит ожидаемый результат:
- диапазон этажей: например, от -2 до 25. Отсюда и максимальная длина: для такого дома два символа, и минус тоже символ. В здании выше 99 этажей уже три;
- тип ввода: кнопочная панель с цифрами, сенсорный экран или приложение. На физической панели буквы ввести нельзя, и половина «негативных» тестов из шаблона отпадает;
- поведение при превышении: лишний символ блокируется, заменяет предыдущий или показывается ошибка;
- завершение ввода: по кнопке подтверждения или по таймауту после последней цифры.
Дальше кейсы по двум измерениям, длине и значению:
- длина: пусто, один символ, максимум минус один, ровно максимум, максимум плюс один;
- значение: минимальный и максимальный этаж, соседние несуществующие (-3 и 26), ноль, если такого этажа нет, текущий этаж;
- формат: ведущие нули (
07должен стать 7 или быть отклонён),-0, минус не в начале; - после ввода: сброс набранного, повторный вызов того же этажа, ввод во время движения, пауза посреди набора (ввели
1, подождали, нажали2: это 12 или два вызова?).
Граничные значения по длине и по диапазону дают разные наборы кейсов, и в хорошем ответе видны оба. Если спросят про автоматизацию, говорите о тестах логики контроллера на уровне кода, а не о Selenium: у панели лифта нет браузера.
Где спотыкаются
Сразу пишут кейсы, не спросив диапазон этажей. Тогда «максимум символов» берётся с потолка.
Проверяют только длину: 99 проходит по длине, но в 25-этажном доме это несуществующий этаж.
Проверяют «максимум плюс один» и забывают «ровно максимум» и «максимум минус один», хотя ошибки на границе сидят именно там.