Справочник · модуль 16 «Нейросети для программиста»

Проверка тестами

Код от нейросети проверяй тестами, особенно на крайних случаях: пустой список, ноль, один элемент. «Запустился» не значит «работает верно».

Сравнение из жизни

Как проверить мост нагрузкой, а не взглядом.

Пример

Запустилась, но упала на пустом списке

def average(numbers):
    return sum(numbers) / len(numbers)


print(average([]))
Python сообщает об ошибке
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    print(average([]))
          ~~~~~~~^^^^
  File "main.py", line 2, in average
    return sum(numbers) / len(numbers)
           ~~~~~~~~~~~~~^~~~~~~~~~~~~~
ZeroDivisionError: division by zero

Учитель в уроке Дадим пустой список. Функция упала: деление на ноль. Нейросеть не подумала про крайний случай. Запомни: «запустилось» не значит «верно». Особенно проверяй крайние случаи: пустой список, ноль, один элемент.

Коротко: проверяй ответ нейросети

Запомнить

Проверка тестами — как проверить мост грузом, а не на глаз. Запустилось — ещё не значит верно.

Частые ошибки новичков на этой теме

Тема из урока 16.2 «Проверяем ответ ИИ» курса PythonAZ.

В этом же уроке