четверг, 27 июля 2017 г.

Панбагон. Период сегодня-вчера, если он длится 0 дней

Курсы для начинающих идут в отдельной системе дистанционного обучения (СДО). Было время, когда очень хотелось заавтоматизировать открытие новых тем. А то нужно пойти, открыть новую тему, а потом добавить новое сообщение на новостной форум.

В принципе, СДО позволяет настроить периоды выполнения тем. Ты настраиваешь так:

  1. Дату начала курса (откроется первая тема)
  2. Продолжительность каждой темы (2 дня, 3 дня, 4...)
Соответственно, в первый день открывается тема 1, через три дня тема 2 и так далее. Сижу, ковыряюсь, настраиваю периоды. А у нас еще есть нулевая тема, которая не идет N дней, она сразу открыта. Ну так и ставлю: duration = 0 дней. Результат позабавил Big grin :D

Обратный отсчет!

Я ожидала, что дата начала будет равна дате окончания, но нет =) 
Это, кстати, классический пример теста на класс эквивалентности «Ноль-не ноль». Если у нас если числовой параметр для тестирования (период времени), обязательно стоит попробовать ноль. Что, если диапазон короче дня? 

Вот в результате теста на ноль и огребли бажик)) Давайте оформим по шаблону:
**********************************************************

Если period duration = 0, он отображается как «минус один»


Шаги
  1. Открыть любой курс в СДО, где ты тренер — <тут ссылка на курс и данные для входа>
  2. Нажать кнопку «Редактировать настройки»
  3. Формат курса — periods format
  4. Открыть первую тему курса
  5. Установить ей длительность периода «0 дней»

Результат

Диапазон отображается как «минус один день». Если дата начала — 19 сентября, то диапазон будет «19 сентябрь — 18 сентябрь», см рис 19-18 сентября

Ожидаемый результат

Диапазон «19 сентябрь — 19 сентябрь». Мы же не отрицательный период поставили, а нулевой

**********************************************************

Как найти такой баг — см выше, проверяя класс «ноль-не ноль»! 


См также:
Шаблон бага → использовался в статье
Шаблон улучшения — Как продумывать свое улучшение с примером, когда это приводит к отказу от постановки задачи.
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.

PS — добавила пост в общую копилку багов.

Комментариев нет:

Отправить комментарий