Вот есть такая задачка, я понимаю что здесь нужно использовать технику "Тест дизайна" - "Граничные значения", насколько это правильно?
"Граничные значения" и можно ещё "классы эквивалентности", грубо говоря, сгруппировать примеры.
Так что да, верно.
Я думаю проверить следует следующие значения:
-1/0/1/599/600/601/1999/2000/2001/2999/3000/3001/max
Полагаю, случай с 600 спорный для "минимального набора". Объясню почему.
у вас есть следующие границы: 0-1999 = 0%
2000 - 2999 = 2%
3000 - inf = 5%
Т.е. используя идею граничный значений 600 долларов это не совсем граница, где меняются проценты.
А ещё можно сюда внести "класс эквивалентности", типа кратный или не кратны 600, например,
чем 599 отличается от 1? да ничем с т.з. 600 и 599 или 600 и 1.
Оба варианта (599 и 1) это не 600 и находятся в границах 0-599.
Поэтому из минимального набора я бы этот вариант выкинула.
Действуя такому принципу, некоторые тоже бы выкинула, оставив эти варианты:
- -1, 0, 1
- 1999, 2000, 2001
- 2999, 3000, 3001
Граничные условия - это проверка условий, вида:
if a < b < c:
do_something
else:
do_something
И наиболее часто встречаемые тут ошибки - это путают знаки (человеческий фактор) или забывают поставить знак = или, наоборот, добавляют, когда не надо (это уже слабая математика, множества).
И в случае подобных задач, надо проверить - входит ли элемент в какое-то множество или нет. И если входит, то надо ещё понять, в какое множество он входит.
Например. там стоит такая ошибка: x > 3000 = 5%, т.е. тут пример, когда забыли поставить "=" и значение 3000 попало в раздел "2%" или куда-то ещё, но не в 5%.
Отдельно можно ещё проверить всякие дробные значения, например,
1999,99 - это 1999 или 2000? округление в какую сторону будет, если будет? Т.е. обратить внимание на типы данных. Хотя бы 1 тест, если криво, то криво будет везде.
Но вот как оформить тест кейсы, не совсем понимаю.
https://www.software-testing.ru/library/testing/ge...
Как пример оформления. Если у вас в задании не указано что-то конкретное, то подгуглить и использовать шаблон.
Обязательно указывайте что вводите (те примеры) и что ожидаете от таких ответов.