Проще всего понять, что система сломалась, когда она выдаёт ошибку. Трудный случай, это система, которая работает неверно без ошибки: на экране всё выглядит хорошо, а результат тихо неверен. В этом уроке разбирается, куда и в каком порядке смотреть в такой ситуации.
Шумный сбой заявляет о себе: что-то останавливается, загорается красный, приходит уведомление. Тихий сбой не заявляет ничего. Система продолжает работать, каждый шаг сообщает об успехе, а полученный результат неверен. Заметить это можно и через несколько дней, потому что никто не подозревает то, что работает.
Типичные формы такие: поле приходит пустым, и расчёт идёт от нуля; диапазон написан короче, и столбец никогда не читается; правило пропускается только в одном определённом случае. Во всех трёх случаях система сообщает об успехе. Тихий сбой опаснее шумного.
Данные, попадающие в систему, действительно те, которых вы ждёте? Имя поля, диапазон, пустая ячейка. Большая часть неисправностей проявляется не в правиле, а в том, что до правила доходит. Посмотрите на вход своими глазами, прежде чем читать правило.
Если вход верен, переходите к правилу. Выпишите по пунктам, что оно делает в каком случае, и проведите реальный пример по этой записи. Правило, которое не держится на бумаге, не удержится и в системе.
Сравните ожидаемое число записей с полученным. Если числа расходятся, неисправность есть, даже если на экране ничего не видно. Счёт надёжнее взгляда.
Этот шаг пропускают чаще всего. Если неисправность не повторяется у вас в руках, вы и не поймёте, помогло ли ваше изменение. Сначала намеренно вызовите её ещё раз; только после этого начинайте чинить.
Есть и другая ловушка. Когда проверяющий инструмент долго выдаёт одно и то же предупреждение, оно перестаёт нести информацию. Лампу, которая горит красным всегда, никто не читает. Предупреждение стоит время от времени проверять на истинность; иначе настоящая неисправность растворится в том же экране.
Если подозреваете, что система тихо работает неверно, напишите нам и посмотрим вместе.