Как составить чек-лист для проверки нового поля в форме с учетом требований?
Что проверяют
Умеете ли вы начинать с требований и превращать их в проверки через техники тест-дизайна, а не перечислять всё подряд. Хороший ответ начинается с вопросов. Следом обычно дают конкретное поле, например обязательный телефон, и просят назвать граничные значения.
Как отвечать
Сначала вытащите из требований и уточните у аналитика: тип данных, обязательность, минимальная и максимальная длина, формат и маска, значение по умолчанию, связь с другими полями, куда значение сохраняется и где показывается. Пробел в требованиях это вопрос, а не ваше предположение.
Затем проверки по группам:
- отображение: поле видно на всех разрешениях, есть подпись, плейсхолдер, отметка обязательности, верный порядок перехода по
Tab; - классы и границы: при длине от 2 до 50 символов проверяются 1, 2, 50 и 51, пустое значение, строка из пробелов;
- формат: кириллица, латиница, цифры, спецсимволы, эмодзи, пробелы по краям, вставка из буфера, автозаполнение браузера;
- ошибки: текст понятный, появляется у поля и исчезает после исправления;
- сервер: отправьте запрос в обход формы через Postman или DevTools. Если сервер принимает то, что форма запрещает, это баг;
- сохранение и показ: значение попало в базу, вернулось в API, видно в профиле и при редактировании;
- безопасность: строка
<script>alert(1)</script>сохраняется как текст и не исполняется при показе; - доступность: подпись связана с полем через
label, ошибку озвучивает скринридер, поле работает с клавиатуры; - регресс: форма отправляется как раньше, старые записи без нового поля открываются.
Пункт чек-листа это одна проверка; расписанные шаги нужны только для сложных мест, их выносят в тест-кейсы.
Где спотыкаются
Пишут чек-лист «для любого поля», не спросив про требования. Интервьюер ждёт, что вы найдёте пробелы в спецификации.
Проверяют только интерфейс. Валидация на фронте обходится одним запросом, и без проверки сервера в базу попадает то, что форма якобы не пропускает.
Забывают про существующие данные: у старых пользователей поле пустое, и профиль или отчёт падают на null.