Выбор ответа Middle Классы эквивалентности и границы обновлено

Граница «исполнилось 18 лет» по дате рождения

Вопрос

Регистрация разрешена, если пользователю уже исполнилось 18 лет. Сегодня 15.10.2026. Какую пару дат рождения стоит проверить как граничные?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 15.10.2008 (ровно 18, можно) и 16.10.2008 (18 завтра, нельзя). Граница тут это день, когда исполняется 18.

Варианты ответа

  1. 01.01.2008 и 31.12.2008: начало и конец года, в котором исполняется 18
  2. 15.10.2008 (ровно 18, можно) и 16.10.2008 (18 завтра, нельзя)правильный ответ
  3. 15.10.2008 и 14.10.2008: обе даты валидные, граница внутри класса
  4. 15.10.2007 и 15.10.2009: год до и год после совершеннолетия

Разбор

Граница тут это день, когда исполняется 18. Ровно сегодня исполнилось, значит можно, а родившийся на день позже ещё несовершеннолетний. Даты 01.01 и 31.12 проверяют год рождения, а частая ошибка как раз в том, что считают по году и пропускают тех, у кого день рождения ещё не наступил. Пара 15.10 и 14.10 лежит целиком в валидном классе. Разница в год от границы слишком грубая. Отдельно стоит проверить 29 февраля и часовые пояса сервера и клиента.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме