Граница «исполнилось 18 лет» по дате рождения
Вопрос
Регистрация разрешена, если пользователю уже исполнилось 18 лет. Сегодня 15.10.2026. Какую пару дат рождения стоит проверить как граничные?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- 01.01.2008 и 31.12.2008: начало и конец года, в котором исполняется 18
- 15.10.2008 (ровно 18, можно) и 16.10.2008 (18 завтра, нельзя)правильный ответ
- 15.10.2008 и 14.10.2008: обе даты валидные, граница внутри класса
- 15.10.2007 и 15.10.2009: год до и год после совершеннолетия
Разбор
Граница тут это день, когда исполняется 18. Ровно сегодня исполнилось, значит можно, а родившийся на день позже ещё несовершеннолетний. Даты 01.01 и 31.12 проверяют год рождения, а частая ошибка как раз в том, что считают по году и пропускают тех, у кого день рождения ещё не наступил. Пара 15.10 и 14.10 лежит целиком в валидном классе. Разница в год от границы слишком грубая. Отдельно стоит проверить 29 февраля и часовые пояса сервера и клиента.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Классы эквивалентности и границы»
- Граничные значения для поля «возраст 18-60»
- Трёхточечный анализ границ для диапазона 18-60
- Класс, который часто забывают
- Классы для диапазона 5-15
- Граничные длины логина 3-16 символов
- Граничные значения для диапазона 1-100
- Трёхточечный анализ для диапазона 10-20
- Почему ошибки живут на границах