Какие тестовые случаи (checkpoints) следует использовать для проверки интервала от 5 до 10 включительно?

Ответ

Для проверки интервала [5, 10] применяются техники тест-дизайна, такие как анализ граничных значений и классы эквивалентности.

1. Проверка корректных значений (позитивные тесты)

  • Граничные значения:
    • Нижняя граница: 5
    • Верхняя граница: 10
  • Внутренние значения (из валидного класса эквивалентности):
    • Любое целое число между границами, например: 7

2. Проверка некорректных значений (негативные тесты)

  • Значения сразу за границами:
    • Ниже границы: 4
    • Выше границы: 11
  • Значения далеко за границами:
    • 0, отрицательные числа (например, -1)
    • Большие числа (например, 999)
  • Дробные числа на границах и внутри:
    • 4.9, 5.1, 9.9, 10.1
  • Нечисловые и специальные значения:
    • Пустая строка ""
    • Текст: "abc"
    • null, undefined
    • Символы: "#"

Пример кода на Python

def is_in_interval(value):
    """Проверяет, входит ли значение в интервал [5, 10]."""
    return isinstance(value, (int, float)) and 5 <= value <= 10

# Позитивные проверки
assert is_in_interval(5) == True   # Нижняя граница
assert is_in_interval(10) == True  # Верхняя граница
assert is_in_interval(7) == True   # Внутреннее значение

# Негативные проверки
assert is_in_interval(4) == False   # Ниже границы
assert is_in_interval(11) == False  # Выше границы
assert is_in_interval(5.5) == True  # Дробное внутри
assert is_in_interval(4.9) == False # Дробное снаружи
assert is_in_interval("8") == False # Строка, а не число

Ответ 18+ 🔞

А, ну вот, классика, блядь! Сидишь такой, думаешь, ну что там проверять, интервал от пяти до десяти, ёпта, всё просто, как два пальца обоссать. А нихуя, сука! Тут целая наука, блядь, ебать мои старые костыли!

Смотри, чтобы не облажаться, есть две главные техники, как не просрать проверку: анализ граничных значений и классы эквивалентности. Звучит страшно, а на деле — хуй собачий, если разобраться.

1. Проверка, когда всё норм (позитивные тесты)

Тут всё понятно, вроде как. Берём то, что должно работать.

  • Граничные значения, блядь, самые важные:
    • Самая нижняя пиздюлина: 5
    • Самая верхняя пиздюлина: 10
  • Любое число из середины (валидный класс эквивалентности):
    • Ну, например, 7. Взял и ткнул, блядь.

2. Проверка, когда всё пошло по пизде (негативные тесты)

А вот тут начинается веселье, блядь! Это где мы пытаемся сломать всё, что можно.

  • Значения, которые прям рядом, но уже нихуя:
    • Чуть ниже: 4 (ой, мама, прости!)
    • Чуть выше: 11 (ой, папа, прости!)
  • Значения, которые вообще с другой планеты:
    • 0, всякие минуса, типа -1 (чё, бля?)
    • Овердохуища большие числа, например, 999 (ну ты даёшь!)
  • Дробные числа, сука, они же коварные:
    • 4.9, 5.1, 9.9, 10.1 — вот эта мелочь, которая всё портит.
  • Вообще не числа, пиздец:
    • Пустота: ""
    • Буквы: "abc" (это ж блядь строка, а не число!)
    • null, undefined — привет из мира JS, нахуй.
    • Символы: "#" — что это, блядь, решётка?

Пример кода на Python

def is_in_interval(value):
    """Проверяет, входит ли значение в интервал [5, 10]."""
    return isinstance(value, (int, float)) and 5 <= value <= 10

# Позитивные проверки
assert is_in_interval(5) == True   # Нижняя граница
assert is_in_interval(10) == True  # Верхняя граница
assert is_in_interval(7) == True   # Внутреннее значение

# Негативные проверки
assert is_in_interval(4) == False   # Ниже границы
assert is_in_interval(11) == False  # Выше границы
assert is_in_interval(5.5) == True  # Дробное внутри
assert is_in_interval(4.9) == False # Дробное снаружи
assert is_in_interval("8") == False # Строка, а не число

Вот и вся магия, блядь. Сначала проверяешь, что работает, а потом начинаешь ебашить со всех сторон, как мартышлюшка с гранатой, чтобы найти, где оно посыпется. Если после всех этих пиздюлей функция жива — значит, норм, можно идти пить чай. А если нет — ну, извини, дружок, придётся чинить, ёпта.