Отладка и тестирование: как находить ошибки в решениях
Отладка — это поиск причины ошибки в программе. Тестирование — проверка решения на заранее выбранных примерах.
Краткий ответ
Отладка — это поиск причины ошибки в программе. Тестирование — проверка решения на заранее выбранных примерах.
Отладка — это поиск причины ошибки в программе. Тестирование — проверка решения на заранее выбранных примерах. Для школьника эти навыки так же важны, как условия, циклы и списки, потому что большинство неправильных ответов появляется из-за невнимательности к деталям.
Начинайте тестирование не с большого набора данных, а с простого примера, который можно проверить вручную. Затем добавляйте граничные случаи: минимальное значение, одно число, пустую строку, одинаковые элементы, отрицательные числа, максимальную границу.
Печать промежуточных значений
Самый доступный способ отладки — временно вывести значения переменных.
numbers = [2, 4, 6]
total = 0
for number in numbers:
total += number
print('number =', number, 'total =', total)
print('answer =', total)
После того как ошибка найдена, отладочные print нужно убрать, чтобы программа выводила только ответ.
Проверка функции тестами
Если часть решения оформлена функцией, ее удобно проверять отдельно.
def digit_sum(number):
total = 0
while number > 0:
total += number % 10
number //= 10
return total
assert digit_sum(123) == 6
assert digit_sum(900) == 9
assert digit_sum(0) == 0
Третий тест показывает ошибку: текущая функция возвращает 0 для нуля, и это может быть правильным ответом, если условие просит сумму цифр числа. Такой пример нужно явно продумать, а не надеяться, что он не встретится.
Чек-лист перед отправкой
1. Правильно ли прочитаны все входные данные? 2. Совпадает ли формат вывода с условием? 3. Проверены ли границы диапазонов? 4. Нет ли деления на ноль? 5. Работает ли код на минимальном примере?
Отладка экономит время на ОГЭ, ЕГЭ и олимпиадах. Вместо случайных исправлений школьник получает понятный процесс: воспроизвести ошибку, увидеть значения переменных, найти место расхождения с идеей и проверить исправление на нескольких тестах.
Что важно запомнить
- Отладка — это поиск причины ошибки в программе.
- Тестирование — проверка решения на заранее выбранных примерах.
- Для школьника эти навыки так же важны, как условия, циклы и списки, потому что большинство неправильных ответов появляется из-за невнимательности к деталям.
- Начинайте тестирование не с большого набора данных, а с простого примера, который можно проверить вручную.
https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-14