← Назад к вопросам

Тестирование поля ввода даты с проверкой возраста

1.0 Junior🔥 201 комментариев
#Веб-тестирование#Теория тестирования#Техники тест-дизайна

Условие

На форме регистрации есть поле ввода даты рождения, которое отсеивает пользователей в возрасте до 18 лет.

Используя технику "Граничные значения" (Boundary Value Analysis), напишите тестовые наборы данных для проверки этого поля.

Учтите:

  • Пользователи младше 18 лет не должны проходить регистрацию
  • Пользователи 18 лет и старше должны успешно регистрироваться
  • Текущая дата для расчёта: сегодня

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Тестирование граничных значений для проверки возраста 18+

Контекст

Сегодняшняя дата: 23 марта 2026 года (2026-03-23).

Для прохождения регистрации пользователь должен быть 18 лет и старше на момент проверки. Это означает, что ему должно быть ровно 18 или больше.

Дата рождения ограничения:

  • Максимально допустимая дата рождения (18 лет назад): 23 марта 2008 года
  • Минимально допустимая дата рождения (ровно 18 лет): 23 марта 2008 года

Техника граничных значений (Boundary Value Analysis)

Техника BVA сосредоточена на значениях на границах допустимого диапазона. При проверке возрастного ограничения 18 лет нас интересуют:

  1. Точная граница — 23 марта 2008 года (ровно 18 лет)
  2. На день раньше границы — 22 марта 2008 года (17 лет 11 месяцев 30 дней)
  3. На день позже границы — 24 марта 2008 года (17 лет 11 месяцев 29 дней)
  4. Далеко за границей (валидные) — 1990 год и раньше
  5. Далеко за границей (невалидные) — 2025 год (младенец)

Набор тестовых данных

Позитивные сценарии (ожидаемый результат: УСПЕШНАЯ регистрация)

ID тестаДата рожденияВозрастСтатусОписание
BVA_00123.03.200818 лет 0 дней✓ PASSГраница: ровно 18 лет, день и месяц совпадают с текущей датой
BVA_00222.03.200818 лет 1 день✓ PASSДень раньше границы: пользователь уже 18 лет и 1 день
BVA_00301.01.200818 лет 82 дня✓ PASSРанний год: пользователю значительно больше 18 лет
BVA_00431.12.199035 лет 82 дня✓ PASSЗначительно старше: проверка глубокой истории
BVA_00515.06.200025 лет 282 дня✓ PASSВзрослый пользователь: четверть века
BVA_00623.03.195076 лет 0 дней✓ PASSПожилой пользователь: проверка очень старых дат

Негативные сценарии (ожидаемый результат: ОШИБКА, регистрация ЗАБЛОКИРОВАНА)

ID тестаДата рожденияВозрастСтатусОписание
BVA_00724.03.200817 лет 364 дня✗ FAILГраница: на день позже — пользователь еще не 18 лет
BVA_00825.03.200817 лет 363 дня✗ FAILНа 2 дня позже границы — не достиг совершеннолетия
BVA_00923.04.200817 лет 11 месяцев✗ FAILНа месяц позже: пользователю еще месяц до 18
BVA_01023.03.2009Младше года✗ FAILРовно год назад: грудной ребенок (1 год)
BVA_01101.01.2010~16 лет✗ FAILПодросток 2010: значительно младше 18
BVA_01225.12.2025~3 месяца✗ FAILМладенец 2025: совсем свежее рождение
BVA_01323.03.20260 дней✗ FAILРожден сегодня: возраст = 0 лет
BVA_01424.03.2026Будущая дата✗ FAILЕще не родился: дата в будущем (невозможна)

Специальные граничные случаи

Краевые случаи со временем

ID тестаДата рожденияВремяОписаниеРезультат
BVA_01523.03.200800:00:00Начало суток (ровно 18 лет в 00:00)Спорный случай (нужно уточнить логику)
BVA_01623.03.200823:59:59Конец сутокСпорный случай

Специальные даты

ID тестаДата рожденияСтатусОписание
BVA_01729.02.2008СпорныйВисокосный год (день рождения раз в 4 года)
BVA_01831.02.2008✗ ОШИБКАНевалидная дата (февраль не имеет 31 дня)
BVA_01900.00.0000✗ ОШИБКАПолностью невалидная дата
BVA_020"" (пусто)✗ ОШИБКАПустое поле

Матрица высокого риска (приоритет тестирования)

  1. CRITICAL (P0): BVA_007 (24.03.2008) — граничное значение, где начинает работать блокировка
  2. CRITICAL (P0): BVA_001 (23.03.2008) — граничное значение, где допускается регистрация
  3. HIGH (P1): BVA_010 (23.03.2009) — молодой пользователь, может быть эксплуатирована лазейка
  4. HIGH (P1): BVA_013 (23.03.2026) — крайний случай (рожден сегодня)
  5. MEDIUM (P2): BVA_017 (29.02.2008) — високосный год, может быть ошибка в расчете

Сообщения об ошибках

Для всех негативных сценариев система должна показывать понятное сообщение:

  • "Вам должно быть не менее 18 лет для регистрации"
  • "Дата рождения невалидна" (для некорректных дат)
  • "Пожалуйста, заполните дату рождения" (для пустого поля)

Итоговые рекомендации

  1. Все P0 случаи (граничные значения) ДОЛЖНЫ быть протестированы ДО релиза
  2. Уточнить с разработчиком: как система обрабатывает время в границе (00:00:00)
  3. Добавить дополнительные проверки на попытку манипуляции датой
  4. Проверить поведение после разного рода фрод-попыток
  5. Убедиться, что система корректно отвергает будущие даты