Оборонительное (безопасное) программирование. Часть 2. |
Автор megabax | |
23.08.2009 г. | |
"Те, кто не помнят прошлого, обречены повторять его". Джордж Сантаяна Что такое программные ошибки?
Программные ошибки так же называются дефектами, багами, и даже «свойствами программы». Ошибка – это тот случай, когда программ не делает того, что от нее ожидают или наоборот, делает то, что от нее не ожидают. Если плохо сформулированы задачи и плохо написан план, система в конце концов будет плохой. Если хотите, что бы покупатели были довольны, будьте готовы соблюдать баланс между необходимостью применять средства диагностики и наилучшего обнаружения ошибок в приложении и более агрессивным графиком.
Что есть ошибка, а что - нет?
То, что обычно называют ошибкой тестировщики и пользователи, часто является вовсе не ошибкой, а симптомом, который маскирует главную причину.
Разделы науки отладки:
· Диагностика и систематика типов программных ошибок и их симптомов. · Стратегии обращения с ошибками. · Профессия наладчика.
Резюме: Как только удастся определить, какова действительная причина симптомов, которые наблюдаются в программе, разрешение проблемы становится делом того, что мы хотим получить от приложения. Допустим, происходит сбой при загрузке модулей A, B, C в порядке, описанном в инструкции. Может показаться, что сбой происходит из-за взаимодействия между этими модулями. Однако дальнейшее тестирование может показать, что выполнение A и C в любом порядке может вызывать сбой. Это может указывать на необрабатываемое состояние ошибки между двумя процедурами, на искажение данных в памяти, или, возможно, на неинициализируемый адрес в памяти, используемый процессором. Проблемы такого часто легко обнаружить, но трудно исправить, поскольку главная причина часто не имеет ничего общего с явными симптомами.
Источник: Мэтт Тэллес, Юань Хсих, "Наука отладки". Продолжение следует.
|
|
Последнее обновление ( 18.02.2013 г. ) |
« След. | Пред. » |
---|