В книге Юлии Гиппенрейтер «Как учиться с интересом» я нашла такую историю о занятиях Александра Звонкина с детьми:
Обсуждаются сделанные из картона фигуры: квадрат, прямоугольник и неправильный четырехугольник. Мы детально обсуждаем их свойства. Прежде всего, у всех фигурок — по четыре угла. Значит, каждую из них мы можем назвать четырехугольником. Итого: у нас три четырехугольника.
При этом два из них отличаются тем, что у них все углы прямые. За это их называют прямоугольниками. Один из двух прямоугольников особый: у него все стороны одинакового размера. Его называют квадратом.
У квадрата как бы три имени: его можно назвать и квадратом, и прямоугольником, и четырехугольником — и все будет правильно.
Моя информация встречается не без сопротивления. Дети упорно стремятся мыслить в понятиях непересекающихся классов.
Аналогичный пример — являются ли папы и дедушки мужчинами, а мужчины — людьми?
Мне кажется, это отличная аналогия для классов эквивалентности! В один класс эквивалентности мы собираем все значения, для которых система должна (по нашему мнению) работать одинаково. Простые числа, мужские имена, и так далее. Чтобы не проверять всё множество вариантов, мы проверяем одно значение из класса.
И когда мы пытаемся выделить класссы, мы придумываем разные бизнес-сценарии для поля. Это и будут разные классы, разные строки в нашем чек-листе проверок. Проблема в том, что одно и то же значение может быть в разных классах. Например, имя «Ольга»:
- Распространенное имя
- Женское имя
- Средняя длина строки
- С буквой, которая одинаково выглядят на русском и на английском
- ....
И это ступор — как так? Ведь классы не должны пересекаться! Но Ольга может быть женщиной, дочкой, мамой, бабушкой, женой, человеком...
Классы эквивалентности могут пересекаться. И это нормально.
При составлении чек-листа проверок наша задача:
- Найти как можно больше идей для тестов, выделить разные классы.
- Удалить дубли.
См также:
Как накидать тестов на что-нибудь
Где брать идеи для тестов (подборка полезных ссылок)
Классы эквивалентности: будни Золушки
PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков
У квадрата есть и четвёртое имя - ромб (https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%BC%D0%B1)
ОтветитьУдалитьА также пятое - параллелограмм (https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC)
ОтветитьУдалитьА ещё «фигура» и другие) Но это ведь даже не мой пример, а суть он отражает)
Удалить