# Рабочий лист формы: поля, сообщения и повторная приёмка Скачайте или скопируйте файл целиком. Сначала заполните обещанный следующий шаг, затем обоснуйте поля и перепишите состояния. После этого пройдите тесты. Для каждой строки нужны ожидаемый исход, фактический исход и решение. Пустая клетка означает «не проверено» ## Заполненный учебный образец Объект: запрос о ремонте офисного принтера, V1 локальной модели Следующий шаг команды: уточнить модель и неисправность в разговоре; стоимость и выезд не обещаны Область: интерфейс без передачи данных. Контакты синтетические, запись в памяти вкладки, после перезагрузки исчезает. Тексты о согласии учебные, юридическое основание этим файлом не определяется | Поле | Нужность | Подпись и подсказка | Проверка | |---|---|---|---| | Телефон | Обязателен для принятого канала | Телефон для ответа; 10 национальных цифр либо 11 с 7/8 | Пусто: «Укажите телефон для ответа»; формат: «Введите 10 цифр либо 11 с 7 или 8» | | Описание | Необязательно, помогает подготовиться | Коротко о неисправности — необязательно; что происходит, модель, когда заметили | Пусто допустимо; максимум 500 UTF-16 единиц в модели | | Имя | Не нужно для первого шага | Не запрашиваем | Нет скрытой обязательности | | Адрес, реквизиты | Более поздний процесс | Не запрашиваем | Нет в публичной первой форме | | Учебная отметка | Только состояние упражнения | Подтверждаю, что использую синтетические данные | Не отмечена заранее; ошибка объяснена | Условные данные: телефон `7000000000`, описание «Учебный принтер: после замены бумаги появился серый фон». По правилу модели строка телефона нормализуется в `+77000000000`. Это не проверка существования или принадлежности номера | Состояние | Текст | Ввод | Дальнейшее действие | |---|---|---|---| | Пустой ввод | Подписи/условия видны до ошибки | Доступен | Заполнить | | Ошибка | Список причин и сообщения у полей | Сохранён | Перейти по ссылке к полю | | Ожидание | Проверяем в локальной модели | Сохранён, редактирование временно отключено | Дождаться результата | | Известная неудача | Учебная запись не создана | Сохранён | Исправить или повторить | | Успех | Принято в локальной модели M01 | Сохранён, новый цикл отдельной кнопкой | Прочитать область результата | | Исход неизвестен | Подтверждение модели не показано | Сохранён | Проверить ту же попытку | | Проверка неизвестного | Найдена локальная запись M02 | Та же попытка | Новая запись не создаётся | ## Заполненный учебный протокол Значения ниже описывают ожидаемый результат принятой модели. Фактический авторский прогон и его дата хранятся отдельно в prototype-qa.json, а эта таблица нужна для самостоятельного воспроизведения | ID | Вход и действие | Ожидаемое наблюдение | Решение для V1 | |---|---|---|---| | T01 | Пустой телефон, отметка выключена, нажать действие | Ошибки телефона/отметки; описание не ошибка; переход к полю | Принять, если все условия видны | | T02 | Телефон 123, отметка включена | Объяснение длины, не «номер не существует» | После исправления старая ошибка снята | | T03 | Вставить 7000000000/77000000000/87000000000; поменять середину | Обычное редактирование; одинаковый принятый вид исходных строк | Принять только синтаксическое правило | | T04 | Допустимые данные, режим неудачи | Нет записи, оба поля сохранены | Потеря текста блокирует приёмку | | T05 | После T04 выбрать успех и повторить | M01, старой ошибки нет, счётчик 1 | Принять локальный исход | | T06 | Новый цикл, неизвестный исход, затем проверка | M02, после проверки тот же номер; счётчик остаётся 2 | Отдельная ветка принята | | T07 | Только клавиатура; ошибка и переход по её ссылке | Видимый фокус, доступ к пояснению и полю | Фиксировать реальный браузер | | T08 | Пустое описание с корректным телефоном | Может пройти остальные условия | Необязательность принята | | T09 | Длинное описание | Заранее виден предел 500; браузер не принимает больше по maxlength | Серверный лимит здесь не проверен | ## Что исправили в учебной V0 Лишние обязательные данные убраны, «Контакт» заменён устойчивой подписью телефона, красная рамка дополнена конкретным текстом. Вместо агрессивной маски оставлен редактируемый ввод с отдельным результатом нормализации. Очистка при неудаче убрана; известная неудача и неизвестный исход разделены. Успех возникает по состоянию памяти модели, а не по нажатию Повторный путь: T01 → T02 → исправление → T04 → T05, затем новый цикл T06. Критерий завершения: все наблюдения есть в проверенной модели, а невыполненные производственные пункты названы отдельно. Внешний backend, доставка, безопасность, юридические документы и реальное устройство не закрываются этим упражнением ## Шаблон вашей формы Адрес и версия: Проверяющий / дата / устройство / браузер: Режим: интерфейсная модель / тестовый обработчик / производственный согласованный тест Обещанный следующий шаг команды: | Поле | Какой шаг невозможен без него | Обязательно | Подпись | Подсказка | Ошибка | Допустимые форматы | |---|---|---|---|---|---|---| | Заполните | Заполните | Да/нет | Заполните | Заполните | Заполните | Заполните | | Тест | Исходные данные | Действие | Ожидание | Наблюдение | Принято / дефект / неизвестно | Исправление / повтор | |---|---|---|---|---|---|---| | Пустой ввод | Синтетические | Заполните | Заполните | Не проверено | Неизвестно | Заполните | | Исправление | Синтетические | Заполните | Заполните | Не проверено | Неизвестно | Заполните | | Неудача | Согласованный режим | Заполните | Ввод сохранён | Не проверено | Неизвестно | Заполните | | Неизвестный исход | Согласованный режим | Заполните | Нет ложного статуса | Не проверено | Неизвестно | Заполните | | Успех | Согласованный режим | Заполните | Подтверждение в своей области | Не проверено | Неизвестно | Заполните | Для настоящего приёма отдельными строками подтвердите сохранение у обработчика, назначение уведомления, доступ ответственного и безопасный повтор. Укажите ответственного и доказательство в закрытом отчёте. Не публикуйте контакты и технические ответы с секретами Финальное решение: принята проверенная область _____; остаётся проверить _____; следующая версия _____; повторяет _____