Я правильно понимаю, что есть всего три класса эквивалентности при тестировании чисел:
1. заданный по требованиям интервал;
2. всё, что меньше левой границы интервала;
3. всё, что больше правой границы интервала.
И границы отдельно тестировать не надо, это лишняя трата времени?
Есть тестирование классов эквивалентности и граничных условий.
Эти две техники всегда идут рука об руку, хотя формально являются двумя разными техниками.
Так вот, давайте начнём с классов эквивалентности. В условиях задачи их три:
1. Допустимые значения. В математической нотации [1,10]
2. Недопустимые ниже минимального. (-infinity, 1) либо (-infinity, 0], как вам больше нравится.
3. Недопустимые выше максимального. (10, infinity)
С точки зрения классов эквивалентности нам достаточно взять по 1 элементу из каждого класса. Если у нас нет никакой дополнительной информации, нам абсолютно безразлично, какой элемент из каждого класса брать. Мы можем взять элемент, который нам кажется более багоопасным по своему вкусу.
С точки зрения граничных условий, мы должны проверить 1 и 10. Это граничные условия для набора допустимых значений (а не 2 и 9, как вы написали).
Также мы можем проверить 0 и 11, как граничные условия 1 и 3 классов соответственно.
А вообще, конечно, техника классов эквивалентности сильна в теории, на практике её не применяет почти никто. В том плане, чтобы применять осознанно, обоснованно и правильно. Я уже не раз советовал на этом форуме новую книгу Канера Domain Testing Workbook, в ней как раз отлично разбирается, как применять это на практике.