скачать (254.3 kb.)
Доступные файлы (16):
10.doc | 34kb. | 27.01.2006 23:07 | ![]() |
12-13.doc | 36kb. | 27.01.2006 23:13 | ![]() |
14.doc | 44kb. | 27.01.2006 23:30 | ![]() |
16.doc | 23kb. | 27.01.2006 23:33 | ![]() |
18.doc | 23kb. | 27.01.2006 19:24 | ![]() |
1.doc | 43kb. | 27.01.2006 20:28 | ![]() |
20.doc | 32kb. | 27.01.2006 23:43 | ![]() |
21-22.doc | 22kb. | 27.01.2006 22:00 | ![]() |
26-27.doc | 107kb. | 27.01.2006 19:49 | ![]() |
2.doc | 68kb. | 27.01.2006 22:25 | ![]() |
3.doc | 82kb. | 27.01.2006 20:21 | ![]() |
4.doc | 25kb. | 27.01.2006 20:19 | ![]() |
5.doc | 24kb. | 27.01.2006 19:51 | ![]() |
6.doc | 27kb. | 27.01.2006 21:20 | ![]() |
7.doc | 25kb. | 27.01.2006 20:52 | ![]() |
8.doc | 23kb. | 27.01.2006 22:49 | ![]() |
20.doc
Методы отладки программного обеспеченияОтладка программы в любом случае предполагает обдумывание и логическое осмысление всей имеющейся информации об ошибке. Большинство ошибок можно обнаружить по косвенным признакам посредством тщательного анализа текстов программ и результатов тестирования без получения дополнительной информации. При этом используют различные методы:
ручного тестирования;
индукции;
• дедукции;
• обратного прослеживания.
Метод ручного тестирования. Это - самый простой и естественный способ данной группы. При обнаружении ошибки необходимо выполнить тестируемую программу вручную, используя тестовый набор, при работе с которым была обнаружена ошибка.
Метод очень эффективен, но не применим для больших программ, программ со сложными вычислениями и в тех случаях, когда ошибка связана с неверным представлением программиста о выполнении некоторых операций.
Данный метод часто используют как составную часть других методов отладки.
^ Метод основан на тщательном анализе симптомов ошибки, которые могут проявляться как неверные результаты вычислений или как сообщение об ошибке. Если компьютер просто «зависает», то фрагмент проявления ошибки вычисляют, исходя из последних полученных результатов и действий пользователя. Полученную таким образом информацию организуют и тщательно изучают, просматривая соответствующий фрагмент программы. В результате этих действий выдвигают гипотезы об ошибках, каждую из которых проверяют. Если гипотеза верна, то детализируют информацию об ошибке, иначе — выдвигают другую гипотезу. Последовательность выполнения отладки методом индукции показана на рис. 10.3 в виде схемы алгоритма.
Самый ответственный этап - выявление симптомов ошибки. Организуя данные об ошибке, целесообразно записать все, что известно о ее проявлениях, причем фиксируют, как ситуации, в которых фрагмент с ошибкой выполняется нормально, так и ситуации, в которых ошибка проявляется. Если в результате изучения данных никаких гипотез не появляется, то необходима дополнительная информация об ошибке. Дополнительную информацию можно получить, например, в результате выполнения схожих тестов.
В процессе доказательства пытаются выяснить, все ли проявления ошибки объясняет данная гипотеза, если не все, то либо гипотеза не верна, либо ошибок несколько.
^ По методу дедукции вначале формируют множество причин, которые могли бы вызвать данное проявление ошибки. Затем анализируя причины, исключают те, которые противоречат имеющимся данным. Если все причины исключены, то следует выполнить дополнительное тестирование исследуемого фрагмента. В противном случае наиболее вероятную гипотезу пытаются доказать. Если гипотеза объясняет полученные признаки ошибки, то ошибка найдена, иначе - проверяют следующую причину (рис. 10.4).
^ Для небольших программ эффективно применение метода обратного прослеживания. Начинают с точки вывода неправильного результата. Для этой точки строится гипотеза о значениях основных переменных, которые могли бы привести к получению имеющегося результата. Далее, исходя из этой гипотезы, делают предположения о значениях переменных в предыдущей точке. Процесс продолжают, пока не обнаружат причину ошибки.
^
: Для получения дополнительной информации об ошибке можно выполнить добавочные тесты или использовать специальные методы и средства:
отладочный вывод;
интегрированные средства отладки;
независимые отладчики.
Различают статический и динамический подходы к ручному контролю. При статическом подходе анализируют структуру, управляющие и информационные связи программы, ее входные и выходные данные. При динамическом - выполняют ручное тестирование, т. е. вручную моделируют процесс выполнения программы на заданных исходных данных.
Исходными данными для таких проверок являются: техническое задание, спецификации, структурная и функциональная схемы программного продукта, схемы отдельных компонентов и т. д., а для более поздних этапов - алгоритмы и тексты программ, а также тестовые наборы.
Доказано, что ручной контроль способствует существенному увеличению производительности и повышению надежности программ и с его помощью можно находить от 30 до 70 % ошибок логического проектирования и кодирования. Следовательно, один или несколько из методов ручного контроля обязательно должны использоваться в каждом программном проекте.
Основными методами ручного контроля являются:
инспекции исходного текста,
сквозные просмотры,проверка за столом,
; • оценки программ.
Дихотомический поиск ошибок –делим программу по палам при линейной структу
Скачать файл (254.3 kb.)