Ответ вслух Senior Классы эквивалентности и границы обновлено

Ограничения классов и границ

Вопрос

Когда классы эквивалентности и граничные значения не работают или вводят в заблуждение?

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Техника держится на допущении, что внутри класса система ведёт себя одинаково. Если классы выделены только по требованиям, а в коде есть своя ветка, например особая обработка для оптовых количеств, мы её пропустим.

Что должно прозвучать в ответе

  • Техника опирается на допущение одинаковой обработки внутри класса, его надо проверять

  • Неявные границы реализации: типы, длины колонок, лимиты API не видны в требованиях

  • Взаимозависимые поля: границы одного зависят от значения другого, нужны таблицы решений

  • Нечисловые и неупорядоченные данные: границы не определены, остаются классы

  • Состояние и история: результат зависит от прошлых действий, нужны переходы состояний

  • Техника не ищет пропущенную функциональность, только ошибки в описанной

Что могут спросить следом

  • Как найти неявные границы, если код недоступен?
  • Чем дополнить технику для формы из пяти зависимых полей?

Разбор

Техника держится на допущении, что внутри класса система ведёт себя одинаково. Если классы выделены только по требованиям, а в коде есть своя ветка, например особая обработка для оптовых количеств, мы её пропустим. Требования молчат про неявные границы: тип int, длина varchar, лимит размера тела запроса у прокси. Их ищут по документации API, схеме БД, вопросам разработчикам. Когда поля зависят друг от друга, например лимит перевода зависит от статуса клиента, границы одного поля плавают, и нужны таблицы решений. Для неупорядоченных данных вроде списка городов границ просто нет. Если результат зависит от истории, нужны переходы состояний. И главное: техника проверяет описанное, но не найдёт то, чего в требованиях забыли.

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

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

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