Главная Теоретический материал Лабораторные работы Задачи Тесты Контакты

Узбекское Агентство
Связи и Информатизации



Ташкентский Университет Информационных Технологий


Кафедра
«Программное обеспечение информационных технологий»

Направления:

5521900Информатика и
информационные технологии,
5523500Защита информации,
5523600Электронная коммерция,
5811200Сервис (информационный сервис),
5811300Сервис (электронные и
компьютерные технологии),
5320200Информатика и
библиотековедение,
5140900Профессиональное образование
(по направлению
информатика и
информационные технологии).


Преподаватель дисциплины



Доцент
Чернев Дмитрий Алексеевич

Инструменты отладки программного обеспечения

Основными инструментами отладки служат тесты и отла­дочные печати.

Тест - это специально подобранные исходные данные в совокупности с теми результатами, которые должно выдавать программное обеспечение при обработке этих данных. Несов­падение результатов программного обеспечения с результатами тестов — признак наличия в нем ошибки.

Но иногда и неправильное программное обеспечение может по нескольким тестам дать правильный результат, поэтому необходимо контролировать и промежуточные результаты, чтобы не упустить взаимное уничтожение ошибок в данном варианте работы программного обеспечения.

Для такого контроля и локализации ошибок в программу вставляются отладочные печати, которые выдают ее проме­жуточные результаты. Эти печати позволяют проследить логи­ческий след программы (где она «ходила») и ее арифметический след (что она вычисляла).

Процесс обнаружения ошибок в программе характеризуется выявлением в ней двух мест: точки обнаружения и точки проис­хождения ошибки. Точка обнаружения служит отправным пунк­том для поиска точки происхождения (место в программе, где возникают условия для появления ошибки).

Основным приемом обнаружения ошибок в программе явля­ется фиксация ошибок. Фиксация ошибок — это работа только с тестами и выдан­ными программой результатами, не заглядывая в схему и в текст программы. Основная задача -  по возможности более четко ответить на вопрос «что случилось?». Чем более точно будет сформулирована суть ошибки, тем легче будет ее найти. При этом всегда следует помнить, что несовпадение результатов программы с тестовыми данными может быть из-за ошибки в тесте.

Поиск точек обнаружения и происхождения ошибок в прог­рамме осуществляется отладочными печатями.

Любую программу можно разделить на несколько частей.

Основной принцип контроля программы: каждая часть должна «Расписаться» в получении и сдаче управления и предъявить полученные и вычисленные ею значения. Так как результаты одной части программы являются исходными данными для другой, то достаточно ставить печати на переходах из одной части в другую.

Бывает полезным сразу после ввода данных их распечатывать (контроль вводимой информации или эхопроверка). После входа в процедуру также можно распечатывать значения входных пара­метров, а после выхода — выходных, т.к. при передаче параметров часты ошибки.

Нежелательно вставлять отладочные печати во внутренних циклах, т.к. они будут работать очень много раз, расходуя бумагу и время.

Если же все-таки необходимо вставлять печать во внутренний цикл, то это делают с условием: IF I< К THEN WRITELN.., где К — константа; эта печать работает только при первых «К» проходах тела цикла.

Каждый оператор отладочной печати должен содержать иден­тифицирующую часть, чтобы можно было определить, какой оператор печати работал, т.е. получить логический след; их оформить в отдельные строки, чтобы их затем было легко удалить. Для удобства обнаружения отладочной печати в тексте программы ее рекомендуется каким-либо способом выделять (например: (****)WRITELN... ( ****) или в конце оператора писать: отладка).

Если в отладочных печатях используются циклы, то в качестве параметров этих циклов надо использовать переменные, которые не используются в программе, чтобы не испортить какое-нибудь нужное значение.

По вопросу движения отладочных печатей можно рекомен­довать:

-   печать вводимых данных остается на все время: ее можно
рассматривать как заголовок — единственный способ контроля
введенных значений;

-   печать параметров процедур удаляется после первого же
раза, когда она дала правильный результат при работе всех
операторов вызова этой процедуры;

-   печать в какой-либо части программы удаляется после того,
как эта часть правильно отработала на всех тестах;

-   если программа хранится в библиотеке, то отладочные
печати лучше не удалять, а превращать в комментарии;

-   если вносились изменения в часть программы, из которой
удалены печати, то достаточно вставить одну печать после этой
части: если она покажет ошибку, то надо проверить те операторы,
которые менялись;

-   дополнительные печати вставляются, если не удается обна­ружить ошибку; этими печатями контролируются значения пере­менных, участвующих в формировании неверного результата.

К инструментам отладки можно отнести также системные средства   ЭВМ - трансляторы и компиляторы с языков прог­раммирования, операционную систему, другие программные средства отладки.

Трансляторы, например, указывают на место прерывания отлаживаемой программы, по своему описывают характер ошиб­ки, что, конечно, способствует ведению отладки программ.

Лучшие результаты отладки программы все же дают уни­версальные ручные методы, пригодные для любых языков прог­раммирования.

В одном эксперименте одна группа программистов обна­руживала ошибки с помощью ЭВМ, другая — вручную. Обе группы на обнаружение ошибок затратили примерно одинаковое время.


Назад


Главная Теоретический материал Лабораторные работы Тесты Контакты