BH     TT     Классы эквивалентности    

        //     Основной класс для проверок: "Ноль / не ноль"

A)   Ноль на входе -- Число   -->   5/0

B)   Ноль на входе -- Длина строки   -->   Ольга / 1 пробел, 2 пробела, пустое поле

С)   Состояние

        --   Авторизация   -->   Авторизован / Не авторизован
        --   Посещение   -->   Заходил на сайт / Ранее не заходил
        --   Аватар   -->   Загружал / Ещё не загружал
        --   Деньги снимал   -->   Да / Нет

D)   Ноль на выходе

        --   После совершения покупки баланс уйдет в ноль.
        --   После обработки поле станет пустым.
        --   Поиск вернет ноль результатов (хотя на входе у нас непустая строка поиска).
        --   Отчет на указанную дату будет пустым (опять же, дата на входе была указана не-ноль).


        //     Чтиво

Классы эквивалентности: будни Золушки   2015/07 okiseleva.blogspot.com    
Класс эквивалентности «Ноль-не ноль»   2016/12 okiseleva.blogspot.com    
Классы эквивалентности для имен   2019/10 okiseleva.blogspot.com    
Заблуждения программистов об именах   Habr-146901    
Ивану кредит не давать!   2019/10 okiseleva.blogspot.com    
Классы эквивалентности для строки, которая обозначает число   software-testing.ru    
Классы эквивалентности для населенных пунктов в адресах   2019/10 okiseleva.blogspot.com    

c Несколько простых правил:

Если область определения параметра — диапазон, то имеет смысл выделение трех классов эквивалентности: слева от диапазона (невалидные значения), сам диапазон (валидные значения) и справа от диапазона (снова невалидные). При выделении классов нужно использовать включающие границы с целью однозначности и точности: одно и то же значение не может относиться к двум классам одновременно.
Если область определения — набор неупорядоченных данных, то всегда можно выделить как минимум два класса — валидные и невалидные значения. Полученное разбиение можно «дробить» дальше. Например, множество латинских букв можно разбить на два подмножества: латиница в верхнем и нижнем регистре соответственно.