Банковская компьютерная система в Чикаго исправно работала много месяцев, но неожиданно прекратила функционировать при попытке работы с международными данными. Программисты потратили много дней на проверку кода, но не могли найти ни одной команды, которая могла бы досрочно завершить программу. Когда они стали уточнять условия, при которых возникала проблема, они обнаружили, что программа завершала работу при вводе данных, относившихся к стране Эквадор. При более внимательном рассмотрении выяснилось, что, когда пользователь вводил название столицы Эквадора (Quito), программа воспринимала это как команду на завершение работы (quit).
Боб Мартин однажды наблюдал случай, когда программа срабатывала «много раз по одному разу». Первая транзакция обрабатывалась правильно, но во всех последующих возникали ошибки. После перезагрузки первая транзакция снова обрабатывалась правильно, а все последующие — неправильно. Когда Март пн сказал, что система работает «много раз ио одному разу», программисты поняли, что нужно искать переменную, которая инициализировалась правильно в момент загрузки программы, но не сбрасывалась после обработки транзакции.
Во всех рассмотренных случаях правильные вопросы быстро наводили опытных программистов на скрытые ошибки: «Что вы делаете по-разному стоя и сидя?
Можно посмотреть, как вы входите в систему сидя, а как стоя?», «Что именно вы набирали в тот момент, когда программа завершила работу?», «Работала ли программа правильно вообще когда-нибудь? Сколько раз?»
Опубликовал vovan666
April 16 2013 23:59:01 ·
0 Комментариев ·
2961 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.