Данный свод правил постановки задачи призван сделать коммуникации в рамках проекта между руководителем проекта и исполнителем простыми и понятными, а также добиться высокого качества выполнения задач.
Цели документа:
1) Предоставить исполнителю исчерпывающий объем информации для исполнения задачи
2) Снизить двоякую трактовку требований задачи
3) Снизить до минимума необходимость коммуникации постановщика и исполнителя
4) Снизить до минимума процент возвратов задач из тестирования
Постановка задачи - важный и ответственный процесс в реализации задачи. От однозначности и полноты содержания задачи зависит качество ее реализации.
Общие требования к задаче:
готовится к публикации
Требования к содержанию задачи:
1) Заголовок - наименование задачи
Заголовок задачи должен четко отражать содержание задачи. Мы должны стремиться к уникальности заголовка в рамках одного проекта.
2) Требование - конечный результат задачи
В рамках требований к задаче предполагается описывать требования к конечному результату. Раздел "Требования" не предполагает описания технических требований и процесса реализации задачи.
3) Проблема - причины возникновения задачи (актуально для задач ТП)
Часто, для качественной реализации задачи, исполнителю требуется понимать "зачем он это делает". От этого может зависеть и способ реализации задачи и степень ее проработки.
4) Продуктовые требования - ограничения и требования, накладываемые продуктом на реализацию задачи
Продукт (в нашем случае сайт) может накладывать ограничения на реализацию проекта. Например:
5) Технологические требования - технические требования к реализации
6) Тест кейсы - избыточный набор правил тестирования задачи
Права и ответственность:
Постановщик задачи несет ответственность за ее содержание. Постановщик не в праве требовать от исполнителя того, что не описано в задаче.
Постановщик несет ответственность за полноту предоставленных материалов. В случае недостатка материалов для реализации задачи, исполнитель должен уведомить постановщика о необходимости предоставления информации и имеет право изменить порядок выполнения задач спринта.
Исполнитель задачи несет ответственность за ее исполнение. Исполнитель не имеет права менять требования к задаче без согласования с постановщиком.
Все содержание задачи подлежит исполнению в рамках задачи.
Возможная двоякая трактовка является ответственностью постановщика задачи. Исполнитель, заметивший возможность двоякой трактовки задачи, должен сообщить о ней постановщику.
Пример постановки задачи:
1) Заголовок:
Евростафф. Настройка валидации формы
2) Проблема:
Клиент пожаловался, что на его сайте стало много заявок, заполненных некорректно.
Пользователи заполняют форму с ошибками (иногда несознательно).
Из-за этого менеджерам приходится тратить значительное время на уточнение информации по каждой заявке.
Иногда уточнить информацию уже невозможно (например: при ошибке в телефоне)
3) Требование:
Нужно настроить валидацию формы, расположенной по ссылке evro.redsgroup.ru по следующим правилам:
1. Все обязательные поля должны быть заполнены
- Имя
- Телефон
- Номер счета
2. Номер телефона:
- должен содержать 12 цифр
- начинаться с +7
- Не должен содержать другие символы, кроме цифр 0-9 и символа +
3. E-mail
- должен содержать 1 символ @
- должен содержать хотя бы 1 символ .
- Не должен содержать кириллицу
4. Номер счета
- должен содержать 12 цифр
4. Продуктовые требования:
1. Сохранить стили формы без изменений
2. Добавить стили отображения ошибок валидации в соответствии с предоставленной версткой:
- Блок ошибок над формой
- Оформление ошибочных полей
Ссылка на верстку: evro.redsgroup.ru/frontend/
5. Технические требования:
Проверка валидности формы должна происходить дважды:
1. На уровне JS. При некорректном заполнении поля, строка должна быть помечена, как ошибочная
2. На уровне PHP. После нажатия кнопки "Отправить", должна быть проверена валидность формы
6.Тест кейсы:
Тест кейс №1: Корректное заполнение формы
1) Открыть форму
2) Заполнить поля формы следующим образом
- Имя = Игорь
- Телефон = +79999999999
- E-mail = test@test.ru
- Номер счета = 1234123412341234
3) Нажать кнопку "Отправить"
Ожидаемый результат:
1) Форма не выдала ошибок валидации
2) Форма успешно отправлена
Тест кейс №2: Некорректное заполнение полей формы (PHP валидация)
1) Открыть форму
2) Заполнить поля формы следующим образом
- Имя = Игорь
- Телефон = +7(999)999-99-99
- E-mail = test
- Номер счета = 123412341234rr
3) Нажать кнопку "Отправить"
Ожидаемый результат:
1) Форма не отправлена
2) Форма выдала следующие ошибки валидации:
- Некорректный формат телефона
- Некорректный формат e-mail
- Некорректный формат счета
3) Выделены, как ошиочные, следующие поля формы:
- Телефон
- Номер счета
Тест кейс №3: Некорректное заполнение полей формы (JS валидация)
1) Открыть форму
2) Заполнить поля формы следующим образом
- Имя = Игорь
- Телефон = +7(999)999-99-99
- E-mail = test
- Номер счета = 123412341234rr
Ожидаемый результат:
1) Выделены, как ошибочные, следующие поля формы:
- Телефон
- Номер счета
Тест кейс №4: Некорректное заполнение форм (вариации)
Повторить тест кейс 2 и 3 для следующих данных:
1) Телефон:
- +7 9ее9999999
- 89999999999
2) E-mail
- test@test
- тест@тест.ру
- test.ru
3) Номер счета
- ороввроввовврвор
- 1234
- 1234 1234 1234 1234
Ожидаемый результат:
- Аналогично тест кейсу №2
- Аналогично тест кейсу №3
Тест кейс №5: Не заполнение обязательных полей формы
1) Открыть форму
2) Заполнить поля формы следующим образом
- Имя = Игорь
- Телефон =
- E-mail =
- Номер счета =
3) Нажать кнопку "Отправить"
Ожидаемый результат:
1) Форма не отправлена
2) Форма выдала следующие ошибки валидации:
- Заполнены не все обязательные поля формы
3) Выделены, как ошиочные, следующие поля формы:
- Телефон
- Номер счета