Pull to refresh

Comments 4

Я бы не стал тыкать внутрь класса. У нас нет никакой гипотезы для выбора такого значения. 10 ничем не лучше 8. Так что если уж "усушивать" количество необходимых проверок, то достаточно двух тестов, для границы класса - 17 и 18.

На практике, конечно, ошибки будут совсем в другом месте. Например список не будет выпадать, кнопка не будет активироваться при выборе нужного значения, список возрастов будет пустой или поле будет неактивно, или не видимо, и прочее и прочее.

Как в том старом анекдоте

У нового испытательного образца советского самолета все время отрывались крылья. Лучшие инженеры страны думали-думали, как это исправить - ничего путного в голову не приходит. Приехал к ним стажер. Позвали и его на совещание. Ну он и предлагает:
- А давайте по линии слома просверлим дырочки!
- Ты что! Крылья же тогда еще легче будут отваливаться!
- Но ведь в туалетной бумаге тоже есть дырочки, но по ним-то никогда не рвется!

>либо тем, что программист может ошибиться в выборе границы и указать 17 (или 19) вместо 18.

Чаще тем, что в коде могут быть проверки "меньше границы" и "больше границы" вместо >=

А в целом можно усложнять до бесконечности: классы "не входит в допустимый диапазон (<1 и >100)", "не является целым числом", "числом в принципе" (здесь вообще раздолье для дробления)

Специально зарегистрировался на хабре, чтобы оставить этот коммент.

  1. Храни Вас хосподь. Мб этой статьёй вы спасёте пару-тройку заблудших QA-душ, которые в какой-то момент покатились по наклонной.

  2. Очередная "хвала" онлайн-курсам. Горе-менторы упорно продолжают учить падаванов проверять границу+1.
    Привет Яндекс Практикуму и иже с ними.

17 и 18 - это и есть +/-1 на границе, тут просто самой границы нет, как интервалы на прямой с выколотой точкой. Поэтому не очень понятно, что не так с методикой граничных значений.

В целом тестировщик, как правило, отталкивается от времени, которое ему выделили на тестирование. Поэтому если есть возможность за это время проверить все варианты - проверяем все варианты. По опыту довольно часто ошибки возникают на границе и около неё. Поэтому если позволяет время в этом случае стоит проверить и 19. Все наши предположения о том, как там разработчик написал в коде могут тысячу раз быть неверными. Он возраст мог получать в виде даты и через разницу с текущей датой вычислять возраст, мог дату как строку разбирать своим кривым алгоритмом, а мог подумать что условие - это до 18 лет нельзя, значит после 19 можно.

Sign up to leave a comment.

Articles