В книге Юлии Гиппенрейтер «Как учиться с интересом» я нашла такую историю о занятиях Александра Звонкина с детьми:
Обсуждаются сделанные из картона фигуры: квадрат, прямоугольник и неправильный четырехугольник. Мы детально обсуждаем их свойства. Прежде всего, у всех фигурок — по четыре угла. Значит, каждую из них мы можем назвать четырехугольником. Итого: у нас три четырехугольника.
При этом два из них отличаются тем, что у них все углы прямые. За это их называют прямоугольниками. Один из двух прямоугольников особый: у него все стороны одинакового размера. Его называют квадратом.
У квадрата как бы три имени: его можно назвать и квадратом, и прямоугольником, и четырехугольником — и все будет правильно.Моя информация встречается не без сопротивления. Дети упорно стремятся мыслить в понятиях непересекающихся классов.
Другой пример:
— Являются ли папы и дедушки мужчинами, а мужчины — людьми?
Мне кажется, это отличная аналогия для классов эквивалентности! В один класс эквивалентности мы собираем все значения, для которых система должна (по нашему мнению) работать одинаково. Простые числа, мужские имена, и так далее. Чтобы не проверять всё множество вариантов, мы проверяем одно значение из класса.
И когда мы пытаемся выделить класссы, мы придумываем разные бизнес-сценарии для поля. Это и будут разные классы, разные строки в нашем чек-листе проверок. Проблема в том, что одно и то же значение может быть в разных классах. Например, имя «Ольга»:
- Распространенное имя
- Женское имя
- Средняя длина строки
- С буквой, которая одинаково выглядят на русском и на английском
- ….
И это ступор — как так? Ведь классы не должны пересекаться! Но Ольга может быть женщиной, дочкой, мамой, бабушкой, женой, человеком…
Классы эквивалентности могут пересекаться. И это нормально.
При составлении чек-листа проверок наша задача:
- Найти как можно больше идей для тестов, выделить разные классы.
- Удалить дубли.
Первый шаг — мозговой штурм. Если пытаться сразу и идеи накидывать, и отсекать лишние, придумаете намного меньше, чем могли бы. Стандартные правила мозгового штурма — на этапе генерации идей не отсекаем НИЧЕГО, даже «глупая идея» может по цепочке ассоциаций привести к гениальной.
Отсекать будем потом. Поэтому на этапе написания чек-листа не переживайте, если примеры для вроде бы разных тестов пересекаются.